digiKam
Loading...
Searching...
No Matches
kd_nodeopenface.h
Go to the documentation of this file.
1/* ============================================================
2 *
3 * This file is a part of digiKam
4 *
5 * Date : 2019-06-08
6 * Description : Node of KD-Tree for vector space partitioning.
7 *
8 * SPDX-FileCopyrightText: 2020 by Nghia Duong <minhnghiaduong997 at gmail dot com>
9 * SPDX-FileCopyrightText: 2024 by Michael Miller <michael underscore miller at msn dot com>
10 *
11 * SPDX-License-Identifier: GPL-2.0-or-later
12 *
13 * ============================================================ */
14
15#pragma once
16
17// C++ includes
18
19#include <vector>
20
21// Qt includes
22
23#include <QVector>
24#include <QMap>
25
26// Local include
27
28#include "digikam_opencv.h"
29#include "kd_nodebase.h"
30
31namespace Digikam
32{
33
35{
36public:
37
38 explicit KDNodeOpenFace(const cv::Mat& nodePos,
39 const int identity,
40 int splitAxis,
41 int dimension);
42 virtual ~KDNodeOpenFace() override;
43
44protected:
45
46 KDNodeBase* createNode(const cv::Mat& nodePos,
47 const int identity,
48 int splitAxis,
49 int dimension) override;
50
52 const cv::Mat& queryPosition,
53 const cv::Mat& currentPosition,
54 float sqRange,
55 float cosThreshold,
56 int nbDimension
57 ) const override;
58
59private:
60
61 // Disable
62 KDNodeOpenFace(const KDNodeOpenFace&) = delete;
63 KDNodeOpenFace& operator=(const KDNodeOpenFace&) = delete;
64};
65
66} // namespace Digikam
Definition kd_nodebase.h:34
Definition kd_nodeopenface.h:35
KDNodeBase * createNode(const cv::Mat &nodePos, const int identity, int splitAxis, int dimension) override
Definition kd_nodeopenface.cpp:51
virtual ~KDNodeOpenFace() override
Definition kd_nodeopenface.cpp:47
KDNodeBase::NodeCompareResult nodeCompare(const cv::Mat &queryPosition, const cv::Mat &currentPosition, float sqRange, float cosThreshold, int nbDimension) const override
Definition kd_nodeopenface.cpp:65
Definition datefolderview.cpp:34
Definition kd_nodebase.h:82