28#include "digikam_opencv.h"
46 static float sqrDistance(
const float*
const pos1,
const float*
const pos2,
int dimension);
47 static float cosDistance(
const float*
const pos1,
const float*
const pos2,
int dimension);
65 const cv::Mat& position,
68 int maxNbNeighbors)
const;
89 const cv::Mat& queryPosition,
90 const cv::Mat& currentPosition,
108 void updateRange(
const cv::Mat&);
110 KDNodeBase* findParent(
const cv::Mat& nodePos);
121 Private*
const d =
nullptr;
Definition kd_nodebase.h:34
virtual NodeCompareResult nodeCompare(const cv::Mat &queryPosition, const cv::Mat ¤tPosition, float sqRange, float cosThreshold, int nbDimension) const =0
cv::Mat getPosition() const
Definition kd_nodebase.cpp:174
KDNodeBase * insert(const cv::Mat &nodePos, const int identity)
Definition kd_nodebase.cpp:135
virtual ~KDNodeBase()
Definition kd_nodebase.cpp:130
int getDimension()
Definition kd_nodebase.cpp:184
int getIdentity()
Definition kd_nodebase.cpp:179
virtual KDNodeBase * createNode(const cv::Mat &nodePos, const int identity, int splitAxis, int dimension)=0
double getClosestNeighbors(QMap< double, QVector< int > > &neighborList, const cv::Mat &position, float sqRange, float cosThreshold, int maxNbNeighbors) const
Definition kd_nodebase.cpp:194
void setNodeId(int id)
Definition kd_nodebase.cpp:189
static float sqrDistance(const float *const pos1, const float *const pos2, int dimension)
Definition kd_nodebase.cpp:75
static float cosDistance(const float *const pos1, const float *const pos2, int dimension)
Definition kd_nodebase.cpp:92
Definition datefolderview.cpp:34
Definition kd_nodebase.h:82
double distance2
Definition kd_nodebase.h:85
double distance1
Definition kd_nodebase.h:84
bool result
Definition kd_nodebase.h:83