digiKam
Loading...
Searching...
No Matches
Digikam::KDNodeBase Class Referenceabstract

#include <kd_nodebase.h>

+ Inheritance diagram for Digikam::KDNodeBase:

Classes

struct  NodeCompareResult
 

Public Member Functions

double getClosestNeighbors (QMap< double, QVector< int > > &neighborList, const cv::Mat &position, float sqRange, float cosThreshold, int maxNbNeighbors) const
 
int getDimension ()
 
int getIdentity ()
 
cv::Mat getPosition () const
 
KDNodeBaseinsert (const cv::Mat &nodePos, const int identity)
 
 KDNodeBase (const cv::Mat &nodePos, const int identity, int splitAxis, int dimension)
 
virtual NodeCompareResult nodeCompare (const cv::Mat &queryPosition, const cv::Mat &currentPosition, float sqRange, float cosThreshold, int nbDimension) const =0
 
void setNodeId (int id)
 
virtual ~KDNodeBase ()
 

Static Public Member Functions

static float cosDistance (const float *const pos1, const float *const pos2, int dimension)
 
static float sqrDistance (const float *const pos1, const float *const pos2, int dimension)
 

Protected Member Functions

virtual KDNodeBasecreateNode (const cv::Mat &nodePos, const int identity, int splitAxis, int dimension)=0
 

Constructor & Destructor Documentation

◆ KDNodeBase()

Digikam::KDNodeBase::KDNodeBase ( const cv::Mat &  nodePos,
const int  identity,
int  splitAxis,
int  dimension 
)

◆ ~KDNodeBase()

Digikam::KDNodeBase::~KDNodeBase ( )
virtual

Member Function Documentation

◆ cosDistance()

float Digikam::KDNodeBase::cosDistance ( const float *const  pos1,
const float *const  pos2,
int  dimension 
)
static

◆ createNode()

virtual KDNodeBase * Digikam::KDNodeBase::createNode ( const cv::Mat &  nodePos,
const int  identity,
int  splitAxis,
int  dimension 
)
protectedpure virtual

Pure virtual functions to be overridden in child classes.

Implemented in Digikam::KDNodeOpenFace, and Digikam::KDNodeSFace.

Referenced by insert().

◆ getClosestNeighbors()

double Digikam::KDNodeBase::getClosestNeighbors ( QMap< double, QVector< int > > &  neighborList,
const cv::Mat &  position,
float  sqRange,
float  cosThreshold,
int  maxNbNeighbors 
) const

◆ getDimension()

int Digikam::KDNodeBase::getDimension ( )

◆ getIdentity()

int Digikam::KDNodeBase::getIdentity ( )

Return identity of the node.

◆ getPosition()

cv::Mat Digikam::KDNodeBase::getPosition ( ) const

Return position vector of a node.

Referenced by insert().

◆ insert()

KDNodeBase * Digikam::KDNodeBase::insert ( const cv::Mat &  nodePos,
const int  identity 
)

Insert a new node to the sub-tree.

References createNode(), and getPosition().

◆ nodeCompare()

virtual NodeCompareResult Digikam::KDNodeBase::nodeCompare ( const cv::Mat &  queryPosition,
const cv::Mat &  currentPosition,
float  sqRange,
float  cosThreshold,
int  nbDimension 
) const
pure virtual

◆ setNodeId()

void Digikam::KDNodeBase::setNodeId ( int  id)

◆ sqrDistance()

float Digikam::KDNodeBase::sqrDistance ( const float *const  pos1,
const float *const  pos2,
int  dimension 
)
static

The documentation for this class was generated from the following files: