15 class GenericIndexedCloud;
16 class GenericProgressCallback;
41 return m_associatedCloud;
54 unsigned &nearestPointIndex,
75 std::vector<unsigned> &pointndexes);
97 std::vector<unsigned> &
points);
104 cuttingCoordinate(0),
108 startingPointIndex(0),
188 KdCell *buildSubTree(
unsigned first,
191 unsigned &nbBuildCell,
195 void deleteSubTree(
KdCell *cell);
200 void updateInsideBoundingBox(
KdCell *cell);
204 void updateOutsideBoundingBox(
KdCell *cell);
248 ScalarType &maxSqrDist,
261 ScalarType &maxSqrDist,
275 ScalarType tolerance,
277 std::vector<unsigned> &localArray);
float PointCoordinateType
Type of the coordinates of a (N-D) point.
A generic 3D point cloud with index-based point access.
std::vector< unsigned > m_indexes
Point indexes.
GenericIndexedCloud * m_associatedCloud
Associated cloud.
unsigned m_cellCount
Number of cells.
KdCell * m_root
Tree root.
GenericIndexedCloud * getAssociatedCloud() const
Gets the point cloud from which the tree has been build.
Generic file read and write utility for python interface.
flann::Index< flann::L2< float > > KDTree
CCVector3 outbbmin
Outside bounding box min point.
PointCoordinateType cuttingCoordinate
Place where the space is cut into two sub-spaces (children)
unsigned char boundsMask
Mask to know if the outside box is bounded for a given dimmension.
struct KdCell * father
To go up in the tree.
CCVector3 inbbmin
Inside bounding box min point.
CCVector3 outbbmax
Outside bounding box max point.
CCVector3 inbbmax
Inside bounding box max point.
unsigned nbPoints
Number of elements in this cell.
unsigned startingPointIndex
Index of the first element that belongs to this cell.