Alexandria 2.31.2
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

Definition at line 63 of file KdTree.icpp.

References std::vector< T >::at(), std::vector< T >::begin(), std::vector< T >::end(), std::make_shared(), std::move(), std::vector< T >::size(), and std::sort().

Here is the call graph for this function:

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

◆ 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

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.

◆ 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.

◆ 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.

◆ 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.


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