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 169 of file KdTree.h.

Member Typedef Documentation

◆ BaseType

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
typedef StrategiesT::template StrategyBase< MetricT<VectorKernelT<BaseTree<KdTreeCell<typename StrategiesT::CellData> > > > > BaseType

Definition at line 177 of file KdTree.h.

◆ CellType

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
typedef KdTreeCell<typename StrategiesT::CellData> CellType

Definition at line 174 of file KdTree.h.

◆ DereferencedType

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
typedef BaseType::DereferencedType DereferencedType

Definition at line 179 of file KdTree.h.

◆ ScalarType

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
typedef ScalarTypeDeferer<value_type>::ScalarType ScalarType

Definition at line 180 of file KdTree.h.

◆ value_type

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
typedef BaseType::value_type value_type

Definition at line 178 of file KdTree.h.

Member Function Documentation

◆ ApproximateNearestNeighbors() [1/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
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

Definition at line 491 of file KdTree.hpp.

◆ ApproximateNearestNeighbors() [2/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
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
inline

Definition at line 487 of file KdTree.h.

+ Here is the caller graph for this function:

◆ ApproximateNearestNeighbors() [3/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class ContainerT>
void ApproximateNearestNeighbors ( const PointType & p,
unsigned int k,
ScalarType eps,
ContainerT * neighbors,
ScalarType * sqrDist ) const

Definition at line 183 of file KdTree.hpp.

◆ Build()

template<class Strategies>
void Build ( )
inline

Definition at line 246 of file KdTree.h.

◆ Contains() [1/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class Strategies>
bool Contains ( const CellType & cell,
const CellRange range,
const PointType & p,
DereferencedType * d ) const

Definition at line 616 of file KdTree.hpp.

◆ Contains() [2/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class PointT>
bool Contains ( const PointT & p,
DereferencedType * dref ) const
inline

Definition at line 512 of file KdTree.h.

+ Here is the caller graph for this function:

◆ Contains() [3/3]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class Strategies>
bool Contains ( const PointType & p,
DereferencedType * d ) const

Definition at line 225 of file KdTree.hpp.

◆ InsertBack()

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
void InsertBack ( )
inline

Definition at line 313 of file KdTree.h.

+ Here is the caller graph for this function:

◆ NearestNeighbors() [1/4]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
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

Definition at line 334 of file KdTree.hpp.

◆ NearestNeighbors() [2/4]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class PointT, class LimitedHeapT>
void NearestNeighbors ( const PointT & p,
unsigned int k,
LimitedHeapT * neighbors ) const
inline

Definition at line 403 of file KdTree.h.

+ Here is the caller graph for this function:

◆ NearestNeighbors() [3/4]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class PointT, class LimitedHeapT>
void NearestNeighbors ( const PointT & p,
unsigned int k,
LimitedHeapT * neighbors,
NearestNeighborsAuxData< PointT > * auxData ) const
inline

Definition at line 464 of file KdTree.h.

◆ NearestNeighbors() [4/4]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class ContainerT>
void NearestNeighbors ( const PointType & p,
unsigned int k,
ContainerT * neighbors,
ScalarType * dist ) const

Definition at line 133 of file KdTree.hpp.

◆ PointsInBall() [1/2]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class PointT, class DistScalarT, class ContainerT>
void PointsInBall ( const PointT & p,
DistScalarT sqrRadius,
ContainerT * points ) const
inline

Definition at line 334 of file KdTree.h.

+ Here is the caller graph for this function:

◆ PointsInBall() [2/2]

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
template<class PointT, class DistScalarT, class ContainerT>
void PointsInBall ( const PointT & p,
DistScalarT sqrRadius,
ContainerT * points,
PointsInBallAuxData< PointT > * auxData ) const
inline

Definition at line 392 of file KdTree.h.

◆ Remove()

template<class StrategiesT, template< class > class MetricT, template< class > class VectorKernelT = DynVectorKernel>
void Remove ( DereferencedType s)
inline

Definition at line 327 of file KdTree.h.

+ Here is the caller graph for this function:

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