Files Class List
PointCloud3f Class Reference

Detailed Description

A 3D point cloud using a k-d tree with float type elements.

+ Inheritance diagram for PointCloud3f:

Public Member Functions

Constructors and Destructor
uint32_t GetPointCount () const
 
const Point3fGetPoint (uint32_t i) const
 
uint32_t GetPointIndex (uint32_t i) const
 
void Build (uint32_t numPts, const Point3f *pts)
 
void Build (uint32_t numPts, const Point3f *pts, const uint32_t *customIndices)
 
void BuildWithFunc (uint32_t numPts, PointPosFunc ptPosFunc)
 
void BuildWithFunc (uint32_t numPts, PointPosFunc ptPosFunc, CustomIndexFunc custIndexFunc)
 
void GetPoints (const Point3f &position, float radius, _CALLBACK pointFound)
 
int GetPoints (const Point3f &position, float radius, uint32_t maxCount, PointInfo *closestPoints)
 
int GetPoints (const Point3f &position, uint32_t maxCount, PointInfo *closestPoints)
 
Closest point methods
bool GetClosest (const Point3f &position, float radius, uint32_t &closestIndex, Point3f &closestPosition, float &closestDistanceSquared)
 
bool GetClosest (const Point3f &position, uint32_t &closestIndex, Point3f &closestPosition, float &closestDistanceSquared)
 
bool GetClosest (const Point3f &position, float radius, uint32_t &closestIndex, Point3f &closestPosition)
 
bool GetClosest (const Point3f &position, uint32_t &closestIndex, Point3f &closestPosition)
 
bool GetClosestIndex (const Point3f &position, float radius, uint32_t &closestIndex)
 
bool GetClosestIndex (const Point3f &position, uint32_t &closestIndex)
 
bool GetClosestPosition (const Point3f &position, float radius, Point3f &closestPosition)
 
bool GetClosestPosition (const Point3f &position, Point3f &closestPosition)
 
bool GetClosestDistanceSquared (const Point3f &position, float radius, float &closestDistanceSquared)
 
bool GetClosestDistanceSquared (const Point3f &position, float &closestDistanceSquared)
 

Member Function Documentation

§ GetPointCount()

uint32_t GetPointCount ( ) const
inherited

@ Access to internal data

Returns the point count

§ GetPoint()

const Point3f & GetPoint ( uint32_t  i) const
inherited

Returns the point at position i.

§ GetPointIndex()

uint32_t GetPointIndex ( uint32_t  i) const
inherited

Returns the index of the point at position i.

§ Build() [1/2]

void Build ( uint32_t  numPts,
const Point3f pts 
)
inherited

@ Initialization

Builds a k-d tree for the given points. The positions are stored internally.

§ Build() [2/2]

void Build ( uint32_t  numPts,
const Point3f pts,
const uint32_t *  customIndices 
)
inherited

Builds a k-d tree for the given points. The positions are stored internally, along with the indices to the given array.

§ BuildWithFunc() [1/2]

void BuildWithFunc ( uint32_t  numPts,
PointPosFunc  ptPosFunc 
)
inherited

Builds a k-d tree for the given points. The positions are stored internally, retrieved from the given function.

§ BuildWithFunc() [2/2]

void BuildWithFunc ( uint32_t  numPts,
PointPosFunc  ptPosFunc,
CustomIndexFunc  custIndexFunc 
)
inherited

Builds a k-d tree for the given points. The positions are stored internally, along with the indices to the given array. The positions and custom indices are retrieved from the given functions.

§ GetPoints() [1/3]

void GetPoints ( const Point3f position,
float  radius,
_CALLBACK  pointFound 
)
inherited

@ General search methods

Returns all points to the given position within the given radius. Calls the given pointFound function for each point found.

The given pointFound function can reduce the radiusSquared value. However, increasing the radiusSquared value can have unpredictable results. The callback function must be in the following form:

void _CALLBACK(SIZE_TYPE index, const PointType &p, FType distanceSquared, FType &radiusSquared)

§ GetPoints() [2/3]

int GetPoints ( const Point3f position,
float  radius,
uint32_t  maxCount,
PointInfo *  closestPoints 
)
inherited

Returns the closest points to the given position within the given radius. It returns the number of points found.

§ GetPoints() [3/3]

int GetPoints ( const Point3f position,
uint32_t  maxCount,
PointInfo *  closestPoints 
)
inherited

Returns the closest points to the given position. It returns the number of points found.

§ GetClosest() [1/4]

bool GetClosest ( const Point3f position,
float  radius,
uint32_t &  closestIndex,
Point3f closestPosition,
float &  closestDistanceSquared 
)
inherited

Returns the closest point to the given position within the given radius. It returns true, if a point is found.

§ GetClosest() [2/4]

bool GetClosest ( const Point3f position,
uint32_t &  closestIndex,
Point3f closestPosition,
float &  closestDistanceSquared 
)
inherited

Returns the closest point to the given position. It returns true, if a point is found.

§ GetClosest() [3/4]

bool GetClosest ( const Point3f position,
float  radius,
uint32_t &  closestIndex,
Point3f closestPosition 
)
inherited

Returns the closest point index and position to the given position within the given index. It returns true, if a point is found.

§ GetClosest() [4/4]

bool GetClosest ( const Point3f position,
uint32_t &  closestIndex,
Point3f closestPosition 
)
inherited

Returns the closest point index and position to the given position. It returns true, if a point is found.

§ GetClosestIndex() [1/2]

bool GetClosestIndex ( const Point3f position,
float  radius,
uint32_t &  closestIndex 
)
inherited

Returns the closest point index to the given position within the given radius. It returns true, if a point is found.

§ GetClosestIndex() [2/2]

bool GetClosestIndex ( const Point3f position,
uint32_t &  closestIndex 
)
inherited

Returns the closest point index to the given position. It returns true, if a point is found.

§ GetClosestPosition() [1/2]

bool GetClosestPosition ( const Point3f position,
float  radius,
Point3f closestPosition 
)
inherited

Returns the closest point position to the given position within the given radius. It returns true, if a point is found.

§ GetClosestPosition() [2/2]

bool GetClosestPosition ( const Point3f position,
Point3f closestPosition 
)
inherited

Returns the closest point position to the given position. It returns true, if a point is found.

§ GetClosestDistanceSquared() [1/2]

bool GetClosestDistanceSquared ( const Point3f position,
float  radius,
float &  closestDistanceSquared 
)
inherited

Returns the closest point distance squared to the given position within the given radius. It returns true, if a point is found.

§ GetClosestDistanceSquared() [2/2]

bool GetClosestDistanceSquared ( const Point3f position,
float &  closestDistanceSquared 
)
inherited

Returns the closest point distance squared to the given position. It returns true, if a point is found.