Alexandria 2.31.4
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod > Class Template Reference
Inheritance diagram for KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >:
Collaboration diagram for KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >:

Public Member Functions

virtual ~Split ()=default
 Split (std::size_t dimensionality, std::size_t leaf_size, std::vector< T > data, size_t axis)
void findPointsWithinRadius (const T &coord, double radius, std::vector< T > &selection) const override
std::size_t countPointsWithinRadius (const T &coord, double radius) const override
Public Member Functions inherited from KdTree::KdTree< T, DistanceMethod >::Node< T, DistanceMethod >
virtual ~Node ()=default

Private Attributes

size_t m_axis
double m_split_value
std::shared_ptr< Nodem_left_child
std::shared_ptr< Nodem_right_child

Detailed Description

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
class KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >

Definition at line 60 of file KdTree.icpp.

Constructor & Destructor Documentation

◆ ~Split()

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
virtual KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::~Split ( )
virtualdefault

◆ Split()

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::Split ( std::size_t dimensionality,
std::size_t leaf_size,
std::vector< T > data,
size_t axis )
inlineexplicit

Member Function Documentation

◆ countPointsWithinRadius()

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
std::size_t KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::countPointsWithinRadius ( const T & coord,
double radius ) const
inlineoverridevirtual

Implements KdTree::KdTree< T, DistanceMethod >::Node< T, DistanceMethod >.

Definition at line 103 of file KdTree.icpp.

References KdTree::KdTreeTraits< T >::getCoord(), m_axis, m_left_child, m_right_child, and m_split_value.

Here is the call graph for this function:

◆ findPointsWithinRadius()

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
void KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::findPointsWithinRadius ( const T & coord,
double radius,
std::vector< T > & selection ) const
inlineoverridevirtual

Implements KdTree::KdTree< T, DistanceMethod >::Node< T, DistanceMethod >.

Definition at line 92 of file KdTree.icpp.

References KdTree::KdTreeTraits< T >::getCoord(), m_axis, m_left_child, m_right_child, and m_split_value.

Here is the call graph for this function:

Member Data Documentation

◆ m_axis

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
size_t KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::m_axis
private

Definition at line 115 of file KdTree.icpp.

Referenced by countPointsWithinRadius(), findPointsWithinRadius(), and Split().

◆ m_left_child

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
std::shared_ptr<Node> KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::m_left_child
private

Definition at line 118 of file KdTree.icpp.

Referenced by countPointsWithinRadius(), findPointsWithinRadius(), and Split().

◆ m_right_child

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
std::shared_ptr<Node> KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::m_right_child
private

Definition at line 119 of file KdTree.icpp.

Referenced by countPointsWithinRadius(), findPointsWithinRadius(), and Split().

◆ m_split_value

template<typename T, typename DistanceMethod = EuclideanDistance<T>>
template<typename T, typename DistanceMethod>
double KdTree::KdTree< T, DistanceMethod >::Split< T, DistanceMethod >::m_split_value
private

Definition at line 116 of file KdTree.icpp.

Referenced by countPointsWithinRadius(), findPointsWithinRadius(), and Split().


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