17 #include <unordered_set>
64 typedef std::unordered_set<Leaf*>
LeafSet;
69 const int* userDataFilter = 0);
73 return m_associatedGenericCloud;
float PointCoordinateType
Type of the coordinates of a (N-D) point.
int64_t CV_CLASS_ENUM
Type of object type flags (64 bits)
A 3D cloud interface with associated features (color, normals, octree, etc.)
Hierarchical CLOUDVIEWER Object.
bool getNeighborLeaves(BaseNode *cell, ccKdTree::LeafSet &neighbors, const int *userDataFilter=0)
Returns the neighbor leaves around a given cell.
void translateBoundingBox(const CCVector3 &T)
Translates the bounding-box of the tree.
std::unordered_set< Leaf * > LeafSet
A set of leaves.
ccKdTree(ccGenericPointCloud *aCloud)
Default constructor.
ccGenericPointCloud * m_associatedGenericCloud
Associated cloud.
bool convertCellIndexToRandomColor()
Flag points with a random color per leaf.
ccBBox getCellBBox(BaseNode *node) const
Returns the bounding-box of a given cell.
virtual ccBBox getOwnBB(bool withGLFeatures=false) override
Returns the entity's own bounding-box.
ccGenericPointCloud * associatedGenericCloud() const
Returns associated (generic) point cloud.
virtual void drawMeOnly(CC_DRAW_CONTEXT &context) override
Draws the entity only (not its children)
virtual CV_CLASS_ENUM getClassID() const override
Returns class ID.
void multiplyBoundingBox(const PointCoordinateType multFactor)
Multiplies the bounding-box of the tree.
bool convertCellIndexToSF()
Flag points with cell index (as a scalar field)
Proper KD-tree implementation.