19 class GenericIndexedCloudPersist;
20 class GenericProgressCallback;
26 static const uint8_t X_DIM = 0;
27 static const uint8_t Y_DIM = 1;
28 static const uint8_t Z_DIM = 2;
29 static const uint8_t NODE_TYPE = 0;
30 static const uint8_t LEAF_TYPE = 1;
35 explicit BaseNode(uint8_t nodeType) : parent(nullptr),
type(nodeType) {}
115 return m_associatedCloud;
127 bool build(
double maxError,
130 unsigned minPointCountPerCell = 3,
131 unsigned maxPointCountPerCell = 0,
142 return m_errorMeasure;
146 bool getLeaves(LeafVector& leaves)
const;
float PointCoordinateType
Type of the coordinates of a (N-D) point.
A generic 3D point cloud with index-based and presistent access to points.
A very simple point cloud (no point duplication)
BaseNode(uint8_t nodeType)
virtual ~BaseNode()=default
Leaf(ReferenceCloud *set, const PointCoordinateType planeEquation[], ScalarType _error)
Constructor.
PointCoordinateType splitValue
Proper KD-tree implementation.
double m_maxError
Max error for planarity-based split strategy (see m_errorMeasure)
unsigned m_maxPointCountPerCell
Max number of points per cell (speed-up)
BaseNode * m_root
Root node.
DistanceComputationTools::ERROR_MEASURES m_errorMeasure
Error measurement.
unsigned m_minPointCountPerCell
Min number of points per cell (speed-up)
std::vector< Leaf * > LeafVector
A vector of leaves.
GenericIndexedCloudPersist * associatedCloud() const
Returns the associated cloud.
double getMaxError() const
Returns max error threshold used for planarity-based split strategy.
DistanceComputationTools::ERROR_MEASURES getMaxErrorType() const
Returns max error estimator used for planarity-based split strategy.
GenericIndexedCloudPersist * m_associatedCloud
Associated cloud.
static void error(char *msg)
Generic file read and write utility for python interface.