KdTree< StrategiesT, MetricT, VectorKernelT > Class Template Reference

#include <VisionX/components/pointcloud_processor/EfficientRANSACPrimitiveExtractor/EfficientRANSAC/GfxTL/KdTree.h>

+ Inheritance diagram for KdTree< StrategiesT, MetricT, VectorKernelT >:

Classes

class  BaseGlobalTraversalInformation
 
class  BaseTraversalInformation
 
class  BuildInformation
 
struct  NearestNeighborsAuxData
 
struct  NearestNeighborsAuxInfo
 
struct  NNTypeHelper
 
struct  PointsInBallAuxData
 
struct  PointsInBallAuxInfo
 

Public Types

typedef StrategiesT::template StrategyBase< MetricT< VectorKernelT< BaseTree< KdTreeCell< typename StrategiesT::CellData > > > > > BaseType
 
typedef KdTreeCell< typename StrategiesT::CellData > CellType
 
typedef BaseType::DereferencedType DereferencedType
 
typedef ScalarTypeDeferer< value_type >::ScalarType ScalarType
 
typedef BaseType::value_type value_type
 

Public Member Functions

template<class ContainerT >
void ApproximateNearestNeighbors (const CellType &cell, CellRange range, const AABox< PointType > &box, const PointType &p, unsigned int k, ScalarType eps, ContainerT *neighbors, ScalarType *sqrDist) const
 
template<class PointT , class EpsilonT , template< class > class ContainerT>
void ApproximateNearestNeighbors (const PointT &p, unsigned int k, EpsilonT epsilon, LimitedHeap< typename NNTypeHelper< PointT >::NNType, std::less< typename NNTypeHelper< PointT >::NNType >, ContainerT > *neighbors) const
 
template<class ContainerT >
void ApproximateNearestNeighbors (const PointType &p, unsigned int k, ScalarType eps, ContainerT *neighbors, ScalarType *sqrDist) const
 
void Build ()
 
template<class Strategies >
bool Contains (const CellType &cell, const CellRange range, const PointType &p, DereferencedType *d) const
 
template<class PointT >
bool Contains (const PointT &p, DereferencedType *dref) const
 
template<class Strategies >
bool Contains (const PointType &p, DereferencedType *d) const
 
void InsertBack ()
 
template<class ContainerT >
void NearestNeighbors (const CellType &cell, CellRange range, const AABox< PointType > &box, const PointType &p, unsigned int k, ContainerT *neighbors, ScalarType *dist2) const
 
template<class PointT , class LimitedHeapT >
void NearestNeighbors (const PointT &p, unsigned int k, LimitedHeapT *neighbors) const
 
template<class PointT , class LimitedHeapT >
void NearestNeighbors (const PointT &p, unsigned int k, LimitedHeapT *neighbors, NearestNeighborsAuxData< PointT > *auxData) const
 
template<class ContainerT >
void NearestNeighbors (const PointType &p, unsigned int k, ContainerT *neighbors, ScalarType *dist) const
 
template<class PointT , class DistScalarT , class ContainerT >
void PointsInBall (const PointT &p, DistScalarT sqrRadius, ContainerT *points) const
 
template<class PointT , class DistScalarT , class ContainerT >
void PointsInBall (const PointT &p, DistScalarT sqrRadius, ContainerT *points, PointsInBallAuxData< PointT > *auxData) const
 
void Remove (DereferencedType s)
 

Detailed Description

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
class GfxTL::KdTree< StrategiesT, MetricT, VectorKernelT >

Definition at line 152 of file KdTree.h.

Member Typedef Documentation

◆ BaseType

typedef StrategiesT::template StrategyBase< MetricT < VectorKernelT < BaseTree < KdTreeCell< typename StrategiesT::CellData > > > > > BaseType

Definition at line 181 of file KdTree.h.

◆ CellType

typedef KdTreeCell< typename StrategiesT::CellData > CellType

Definition at line 168 of file KdTree.h.

◆ DereferencedType

typedef BaseType::DereferencedType DereferencedType

Definition at line 183 of file KdTree.h.

◆ ScalarType

Definition at line 184 of file KdTree.h.

◆ value_type

typedef BaseType::value_type value_type

Definition at line 182 of file KdTree.h.

Member Function Documentation

◆ ApproximateNearestNeighbors() [1/3]

void ApproximateNearestNeighbors ( const CellType cell,
CellRange  range,
const AABox< PointType > &  box,
const PointType &  p,
unsigned int  k,
ScalarType  eps,
ContainerT *  neighbors,
ScalarType sqrDist 
) const

Definition at line 466 of file KdTree.hpp.

+ Here is the call graph for this function:

◆ ApproximateNearestNeighbors() [2/3]

void ApproximateNearestNeighbors ( const PointT &  p,
unsigned int  k,
EpsilonT  epsilon,
LimitedHeap< typename NNTypeHelper< PointT >::NNType, std::less< typename NNTypeHelper< PointT >::NNType >, ContainerT > *  neighbors 
) const
inline

Definition at line 454 of file KdTree.h.

+ Here is the call graph for this function:

◆ ApproximateNearestNeighbors() [3/3]

void ApproximateNearestNeighbors ( const PointType &  p,
unsigned int  k,
ScalarType  eps,
ContainerT *  neighbors,
ScalarType sqrDist 
) const

Definition at line 177 of file KdTree.hpp.

◆ Build()

void Build
inline

Definition at line 240 of file KdTree.h.

+ Here is the caller graph for this function:

◆ Contains() [1/3]

bool Contains ( const CellType cell,
const CellRange  range,
const PointType &  p,
DereferencedType d 
) const

Definition at line 574 of file KdTree.hpp.

+ Here is the call graph for this function:

◆ Contains() [2/3]

bool Contains ( const PointT &  p,
DereferencedType dref 
) const
inline

Definition at line 475 of file KdTree.h.

+ Here is the call graph for this function:

◆ Contains() [3/3]

bool Contains ( const PointType &  p,
DereferencedType d 
) const

Definition at line 215 of file KdTree.hpp.

+ Here is the call graph for this function:

◆ InsertBack()

void InsertBack ( )
inline

Definition at line 303 of file KdTree.h.

◆ NearestNeighbors() [1/4]

void NearestNeighbors ( const CellType cell,
CellRange  range,
const AABox< PointType > &  box,
const PointType &  p,
unsigned int  k,
ContainerT *  neighbors,
ScalarType dist2 
) const

Definition at line 323 of file KdTree.hpp.

+ Here is the call graph for this function:

◆ NearestNeighbors() [2/4]

void NearestNeighbors ( const PointT &  p,
unsigned int  k,
LimitedHeapT *  neighbors 
) const
inline

Definition at line 380 of file KdTree.h.

+ Here is the call graph for this function:

◆ NearestNeighbors() [3/4]

void NearestNeighbors ( const PointT &  p,
unsigned int  k,
LimitedHeapT *  neighbors,
NearestNeighborsAuxData< PointT > *  auxData 
) const
inline

Definition at line 433 of file KdTree.h.

◆ NearestNeighbors() [4/4]

void NearestNeighbors ( const PointType &  p,
unsigned int  k,
ContainerT *  neighbors,
ScalarType dist 
) const

Definition at line 133 of file KdTree.hpp.

+ Here is the call graph for this function:

◆ PointsInBall() [1/2]

void PointsInBall ( const PointT &  p,
DistScalarT  sqrRadius,
ContainerT *  points 
) const
inline

Definition at line 321 of file KdTree.h.

+ Here is the call graph for this function:

◆ PointsInBall() [2/2]

void PointsInBall ( const PointT &  p,
DistScalarT  sqrRadius,
ContainerT *  points,
PointsInBallAuxData< PointT > *  auxData 
) const
inline

Definition at line 371 of file KdTree.h.

◆ Remove()

void Remove ( DereferencedType  s)
inline

Definition at line 315 of file KdTree.h.

+ Here is the call graph for this function:

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