CubbyFlow::PointKdTreeSearcher3 Class Referencefinal

KdTree-based 3-D point searcher. More...

#include <Core/Searcher/PointKdTreeSearcher3.h>

Inheritance diagram for CubbyFlow::PointKdTreeSearcher3:
CubbyFlow::PointNeighborSearcher3 CubbyFlow::Serializable

Classes

class  Builder
 Front-end to create PointKdTreeSearcher3 objects step by step. More...
 

Public Member Functions

 PointKdTreeSearcher3 ()
 Constructs an empty kD-tree instance. More...
 
 PointKdTreeSearcher3 (const PointKdTreeSearcher3 &other)
 Copy constructor. More...
 
void Build (const ConstArrayAccessor1< Vector3D > &points) override
 Builds internal acceleration structure for given points list. More...
 
void ForEachNearbyPoint (const Vector3D &origin, double radius, const ForEachNearbyPointFunc &callback) const override
 
bool HasNearbyPoint (const Vector3D &origin, double radius) const override
 
PointNeighborSearcher3Ptr Clone () const override
 Creates a new instance of the object with same properties than original. More...
 
PointKdTreeSearcher3operator= (const PointKdTreeSearcher3 &other)
 Assignment operator. More...
 
void Set (const PointKdTreeSearcher3 &other)
 Copy from the other instance. More...
 
void Serialize (std::vector< uint8_t > *buffer) const override
 Serializes the neighbor searcher into the buffer. More...
 
void Deserialize (const std::vector< uint8_t > &buffer) override
 Deserializes the neighbor searcher from the buffer. More...
 
- Public Member Functions inherited from CubbyFlow::PointNeighborSearcher3
 PointNeighborSearcher3 ()
 Default constructor. More...
 
virtual ~PointNeighborSearcher3 ()
 Destructor. More...
 
virtual std::string TypeName () const =0
 Returns the type name of the derived class. More...
 

Static Public Member Functions

static Builder GetBuilder ()
 Returns builder fox PointKdTreeSearcher3. More...
 

Additional Inherited Members

- Public Types inherited from CubbyFlow::PointNeighborSearcher3
using ForEachNearbyPointFunc = std::function< void(size_t, const Vector3D &)>
 

Detailed Description

KdTree-based 3-D point searcher.

This class implements 3-D point searcher by using KdTree for its internal acceleration data structure.

Constructor & Destructor Documentation

◆ PointKdTreeSearcher3() [1/2]

CubbyFlow::PointKdTreeSearcher3::PointKdTreeSearcher3 ( )

Constructs an empty kD-tree instance.

◆ PointKdTreeSearcher3() [2/2]

CubbyFlow::PointKdTreeSearcher3::PointKdTreeSearcher3 ( const PointKdTreeSearcher3 other)

Copy constructor.

Member Function Documentation

◆ Build()

void CubbyFlow::PointKdTreeSearcher3::Build ( const ConstArrayAccessor1< Vector3D > &  points)
overridevirtual

Builds internal acceleration structure for given points list.

Implements CubbyFlow::PointNeighborSearcher3.

◆ Clone()

PointNeighborSearcher3Ptr CubbyFlow::PointKdTreeSearcher3::Clone ( ) const
overridevirtual

Creates a new instance of the object with same properties than original.

Returns
Copy of this object.

Implements CubbyFlow::PointNeighborSearcher3.

◆ Deserialize()

void CubbyFlow::PointKdTreeSearcher3::Deserialize ( const std::vector< uint8_t > &  buffer)
overridevirtual

Deserializes the neighbor searcher from the buffer.

Implements CubbyFlow::Serializable.

◆ ForEachNearbyPoint()

void CubbyFlow::PointKdTreeSearcher3::ForEachNearbyPoint ( const Vector3D origin,
double  radius,
const ForEachNearbyPointFunc callback 
) const
overridevirtual

Invokes the callback function for each nearby point around the origin within given radius.

Parameters
[in]originThe origin position.
[in]radiusThe search radius.
[in]callbackThe callback function.

Implements CubbyFlow::PointNeighborSearcher3.

◆ GetBuilder()

static Builder CubbyFlow::PointKdTreeSearcher3::GetBuilder ( )
static

Returns builder fox PointKdTreeSearcher3.

◆ HasNearbyPoint()

bool CubbyFlow::PointKdTreeSearcher3::HasNearbyPoint ( const Vector3D origin,
double  radius 
) const
overridevirtual

Returns true if there are any nearby points for given origin within radius.

Parameters
[in]originThe origin.
[in]radiusThe radius.
Returns
True if has nearby point, false otherwise.

Implements CubbyFlow::PointNeighborSearcher3.

◆ operator=()

PointKdTreeSearcher3& CubbyFlow::PointKdTreeSearcher3::operator= ( const PointKdTreeSearcher3 other)

Assignment operator.

◆ Serialize()

void CubbyFlow::PointKdTreeSearcher3::Serialize ( std::vector< uint8_t > *  buffer) const
overridevirtual

Serializes the neighbor searcher into the buffer.

Implements CubbyFlow::Serializable.

◆ Set()

void CubbyFlow::PointKdTreeSearcher3::Set ( const PointKdTreeSearcher3 other)

Copy from the other instance.


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