![]() |
ACloudViewer
3.9.4
A Modern Library for 3D Data Processing
|
A KDTre cell struct. More...
#include <CVKdTree.h>

Public Member Functions | |
| KdCell () | |
Public Attributes | |
| CCVector3 | inbbmax |
| Inside bounding box max point. More... | |
| CCVector3 | inbbmin |
| Inside bounding box min point. More... | |
| CCVector3 | outbbmin |
| Outside bounding box min point. More... | |
| CCVector3 | outbbmax |
| Outside bounding box max point. More... | |
| unsigned | cuttingDim |
| PointCoordinateType | cuttingCoordinate |
| Place where the space is cut into two sub-spaces (children) More... | |
| struct KdCell * | leSon |
| struct KdCell * | gSon |
| struct KdCell * | father |
| To go up in the tree. More... | |
| unsigned | startingPointIndex |
| Index of the first element that belongs to this cell. More... | |
| unsigned | nbPoints |
| Number of elements in this cell. More... | |
| unsigned char | boundsMask |
| Mask to know if the outside box is bounded for a given dimmension. More... | |
A KDTre cell struct.
Definition at line 101 of file CVKdTree.h.
|
inline |
Definition at line 102 of file CVKdTree.h.
| unsigned char cloudViewer::KDTree::KdCell::boundsMask |
Mask to know if the outside box is bounded for a given dimmension.
if boundsMask & (2^d) then outbbmin.u[d] is bounded (else the box is opened in outmin.u[d] - i.e. outbbmin.u[d] = -infinite) if boundsmask & (2^(3+d)) then outbbmax.u[d] is bounded (else the box is opened in outmax.u[d] - i.e. outbbmax.u[d] = infinite)
Definition at line 160 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::insidePointToCellDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| PointCoordinateType cloudViewer::KDTree::KdCell::cuttingCoordinate |
Place where the space is cut into two sub-spaces (children)
Definition at line 140 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| unsigned cloudViewer::KDTree::KdCell::cuttingDim |
Dimension (0, 1 or 2 for x, y or z) which is used to separate the two children
Definition at line 138 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| struct KdCell* cloudViewer::KDTree::KdCell::father |
To go up in the tree.
Definition at line 148 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| struct KdCell* cloudViewer::KDTree::KdCell::gSon |
Each point p which lie in gSon is such as p[cuttingDim] > cuttingCoordinate
Definition at line 146 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::checkDistantPointInSubTree(), cloudViewer::KDTree::checkNearerPointInSubTree(), cloudViewer::KDTree::deleteSubTree(), cloudViewer::KDTree::distanceScanTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateInsideBoundingBox().
| CCVector3 cloudViewer::KDTree::KdCell::inbbmax |
Inside bounding box max point.
The inside bounding box is the smallest cube containing all the points in the cell
Definition at line 119 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::pointToCellDistances(), cloudViewer::KDTree::pointToCellSquareDistance(), and cloudViewer::KDTree::updateInsideBoundingBox().
| CCVector3 cloudViewer::KDTree::KdCell::inbbmin |
Inside bounding box min point.
The inside bounding box is the smallest cube containing all the points in the cell
Definition at line 124 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::pointToCellDistances(), cloudViewer::KDTree::pointToCellSquareDistance(), and cloudViewer::KDTree::updateInsideBoundingBox().
| struct KdCell* cloudViewer::KDTree::KdCell::leSon |
Each point p which lie in leSon is such as p[cuttingDim] <= cuttingCoordinate
Definition at line 143 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::checkDistantPointInSubTree(), cloudViewer::KDTree::checkNearerPointInSubTree(), cloudViewer::KDTree::deleteSubTree(), cloudViewer::KDTree::distanceScanTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateInsideBoundingBox().
| unsigned cloudViewer::KDTree::KdCell::nbPoints |
Number of elements in this cell.
Definition at line 152 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::checkDistantPointInSubTree(), cloudViewer::KDTree::checkNearerPointInSubTree(), cloudViewer::KDTree::distanceScanTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), and cloudViewer::KDTree::updateInsideBoundingBox().
| CCVector3 cloudViewer::KDTree::KdCell::outbbmax |
Outside bounding box max point.
The outside bounding box is the bigest cube contained inside the cutting planes that lead to the cell
Definition at line 134 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::insidePointToCellDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| CCVector3 cloudViewer::KDTree::KdCell::outbbmin |
Outside bounding box min point.
The outside bounding box is the bigest cube contained inside the cutting planes that lead to the cell
Definition at line 129 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::insidePointToCellDistance(), and cloudViewer::KDTree::updateOutsideBoundingBox().
| unsigned cloudViewer::KDTree::KdCell::startingPointIndex |
Index of the first element that belongs to this cell.
Definition at line 150 of file CVKdTree.h.
Referenced by cloudViewer::KDTree::buildSubTree(), cloudViewer::KDTree::checkDistantPointInSubTree(), cloudViewer::KDTree::checkNearerPointInSubTree(), cloudViewer::KDTree::distanceScanTree(), cloudViewer::KDTree::findNearestNeighbour(), cloudViewer::KDTree::findNearestNeighbourWithMaxDist(), cloudViewer::KDTree::findPointBelowDistance(), cloudViewer::KDTree::updateInsideBoundingBox(), and cloudViewer::KDTree::updateOutsideBoundingBox().