Helios++
Helios software for LiDAR simulations
|
Class representing the root node of a KDTree. More...
#include <KDTreeNodeRoot.h>
Public Member Functions | |
KDTreeNodeRoot () | |
Constructor for KDTree root node. | |
![]() | |
void | computeKDTreeStats (KDTreeNode *root, int depth=0) |
Analyze KDTree computing its max depth and the minimum and maximum number of primitives considering all nodes. More... | |
void | writeObject (std::string path) |
Serialize KDTree. More... | |
Static Public Member Functions | |
static KDTreeNodeRoot * | build (const std::vector< Primitive *> &primitives) |
KDTree build method. More... | |
![]() | |
static KDTreeNode * | buildRecursive (std::vector< Primitive *> primitives, int depth) |
Recursively build a KDTree for given primitives. More... | |
static KDTreeNode * | readObject (std::string path) |
Import a serialized KDTree from file. More... | |
Public Attributes | |
int | stats_maxNumPrimsInLeaf |
Maximum number of primitives considering all leaves. | |
int | stats_minNumPrimsInLeaf |
Minimum number of primitives considering all leaves. | |
int | stats_maxDepthReached |
Maximum depth of the KDTree. | |
![]() | |
KDTreeNode * | left = nullptr |
Pointer to node at left side on space partition. Can be nullptr if there is no left side node. | |
KDTreeNode * | right = nullptr |
double | splitPos = 0 |
Point position at corresponding split axis. | |
int | splitAxis = 0 |
Space axis to consider at current depth. | |
std::vector< Primitive * > | primitives |
Vector of primitives associated with the node. | |
Private Member Functions | |
template<typename Archive > | |
void | serialize (Archive &ar, const unsigned int version) |
Friends | |
class | boost::serialization::access |
Class representing the root node of a KDTree.
|
static |
KDTree build method.
primitives | Primitives to build KDTree splitting them |