Atoms Crowd  7.0.0
AtomsUtils::KdTreePoint Class Reference

Classes

class  KdTreePointNode
 
struct  Sample
 

Public Types

typedef int DataType
 

Public Member Functions

 KdTreePoint (unsigned int maxSamplesPerNode=10, unsigned int maxDepth=10)
 
 KdTreePoint (const KdTreePoint &rhs)
 
void addSample (const AtomsMath::Vector3 &sample, const int value)
 
void buildTree ()
 
void clear ()
 
void reserve (size_t maxNumSamples)
 
void findInRange (const AtomsMath::Vector3 &position, const double radius, std::vector< DataType > &neighbours) const
 
void findSampleInRange (const AtomsMath::Vector3 &position, const double radius, std::vector< int > &neighbours) const
 
bool findClosestSample (const AtomsMath::Vector3 &searchPoint, int &closestId, double *maxdist=nullptr) const
 
void findClosestSamples (const AtomsMath::Vector3 &searchPoint, std::vector< std::pair< int, double >> &closestIds, unsigned int numSamples) const
 
void findClosestSamples (const AtomsMath::Vector3 &searchPoint, std::vector< std::pair< int, double >> &closestIds, unsigned int numSamples, double maxDistance) const
 
bool intersect (const AtomsMath::Vector3 &start, const AtomsMath::Vector3 &end, const bool disableY) const
 
void findInRayRange (const AtomsMath::Line3 &line, double radius, std::vector< DataType > &neighbours) const
 
void findSampleInRayRange (const AtomsMath::Line3 &line, double radius, std::vector< int > &neighbours) const
 
std::vector< Sample > & samples ()
 
const std::vector< Sample > & samples () const
 
std::vector< int > & comb ()
 
std::vector< KdTreePointNode > & nodes ()
 

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