Alexandria 2.31.2
SDC-CH common library for the Euclid project
Loading...
Searching...
No Matches
KdTree::KdTree< T, DistanceMethod >::Node< T, DistanceMethod > Class Template Referenceabstract
Inheritance diagram for KdTree::KdTree< T, DistanceMethod >::Node< T, DistanceMethod >:

Public Types

using Traits
 

Public Member Functions

virtual void findPointsWithinRadius (const T &coord, double radius, std::vector< T > &selection) const =0
 
virtual std::size_t countPointsWithinRadius (const T &coord, double radius) const =0
 
virtual ~Node ()=default
 
 KdTree (const std::vector< T > &data, std::size_t leaf_size=100)
 
std::vector< T > findPointsWithinRadius (const T &coord, double radius) const
 
std::size_t countPointsWithinRadius (const T &coord, double radius) const
 

Private Attributes

std::size_t m_dimensionality
 
std::shared_ptr< Nodem_root
 

Detailed Description

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

Definition at line 23 of file KdTree.icpp.

Member Typedef Documentation

◆ Traits

using KdTree::KdTree< T, DistanceMethod >::Traits

Definition at line 70 of file KdTree.h.

Constructor & Destructor Documentation

◆ ~Node()

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

Member Function Documentation

◆ countPointsWithinRadius() [1/2]

std::size_t KdTree::KdTree< T, DistanceMethod >::countPointsWithinRadius ( const T & coord,
double radius ) const

Count how many points are within the given radius from the coordonate coord

Parameters
coord
radius
Returns

Definition at line 88 of file KdTree.icpp.

◆ countPointsWithinRadius() [2/2]

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

◆ findPointsWithinRadius() [1/2]

std::vector< T > KdTree::KdTree< T, DistanceMethod >::findPointsWithinRadius ( const T & coord,
double radius ) const

Return the points that are within the given radius from the coordinate coord

Parameters
coord
radius
Returns

Definition at line 80 of file KdTree.icpp.

◆ findPointsWithinRadius() [2/2]

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

◆ KdTree()

KdTree::KdTree< T, DistanceMethod >::KdTree ( const std::vector< T > & data,
std::size_t leaf_size = 100 )
explicit

Definition at line 72 of file KdTree.icpp.

Member Data Documentation

◆ m_dimensionality

std::size_t KdTree::KdTree< T, DistanceMethod >::m_dimensionality
private

Definition at line 95 of file KdTree.h.

◆ m_root

std::shared_ptr<Node> KdTree::KdTree< T, DistanceMethod >::m_root
private

Definition at line 96 of file KdTree.h.


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