#include <KdTree.hpp>
Public Member Functions | |
void | cleanUp (bool data=true) |
NodeDataType * | data () |
const NodeDataType * | data () const |
const BoundaryInfoType & | getBoundaries () const |
BoundaryInfoType & | getBoundaries () |
template<typename NeighbourIdxMap > | |
void | getNeighbourLeafsIdx (NeighbourIdxMap &neigbourIdx, PREC minExtent) |
Node (std::size_t idx, const AABB< Dimension > &aabb, NodeDataType *data, unsigned int treeLevel=0) | |
template<typename Traits > | |
Node (const Node< Traits > &n) | |
Node (Node &&n) | |
void | setBoundaryInfo (const BoundaryInfoType &b) |
std::size_t | size () |
template<typename TSplitHeuristic > | |
bool | split (TSplitHeuristic &s, std::size_t startIdx=0) |
~Node () | |
Private Attributes | |
BoundaryInfoType | m_bound |
NodeDataType * | m_data = nullptr |
Friends | |
class | Node |
class | NodeSimple |
class | Tree |
class | TreeBase |
Definition at line 1017 of file KdTree.hpp.
ApproxMVBB::KdTree::Node< TTraits >::Node | ( | std::size_t | idx, |
const AABB< Dimension > & | aabb, | ||
NodeDataType * | data, | ||
unsigned int | treeLevel = 0 |
||
) | [inline] |
Definition at line 1050 of file KdTree.hpp.
ApproxMVBB::KdTree::Node< TTraits >::~Node | ( | ) | [inline] |
Definition at line 1054 of file KdTree.hpp.
ApproxMVBB::KdTree::Node< TTraits >::Node | ( | const Node< Traits > & | n | ) | [inline] |
Copy from node childs are not deep copied (since the node does not own the childs) the child pointers have the same values as the node n
. The tree class is responsible for copying the childs accordingly.
Definition at line 1064 of file KdTree.hpp.
ApproxMVBB::KdTree::Node< TTraits >::Node | ( | Node< TTraits > && | n | ) | [inline] |
Move from node
Definition at line 1071 of file KdTree.hpp.
void ApproxMVBB::KdTree::Node< TTraits >::cleanUp | ( | bool | data = true | ) | [inline] |
Definition at line 1232 of file KdTree.hpp.
NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::data | ( | ) | [inline] |
Definition at line 1084 of file KdTree.hpp.
const NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::data | ( | ) | const [inline] |
Definition at line 1087 of file KdTree.hpp.
const BoundaryInfoType& ApproxMVBB::KdTree::Node< TTraits >::getBoundaries | ( | ) | const [inline] |
Definition at line 1077 of file KdTree.hpp.
BoundaryInfoType& ApproxMVBB::KdTree::Node< TTraits >::getBoundaries | ( | ) | [inline] |
Definition at line 1078 of file KdTree.hpp.
void ApproxMVBB::KdTree::Node< TTraits >::getNeighbourLeafsIdx | ( | NeighbourIdxMap & | neigbourIdx, |
PREC | minExtent | ||
) | [inline] |
Definition at line 1141 of file KdTree.hpp.
void ApproxMVBB::KdTree::Node< TTraits >::setBoundaryInfo | ( | const BoundaryInfoType & | b | ) | [inline] |
Definition at line 1080 of file KdTree.hpp.
std::size_t ApproxMVBB::KdTree::Node< TTraits >::size | ( | ) | [inline] |
Definition at line 1239 of file KdTree.hpp.
bool ApproxMVBB::KdTree::Node< TTraits >::split | ( | TSplitHeuristic & | s, |
std::size_t | startIdx = 0 |
||
) | [inline] |
Splits the node into two new nodes by the splitting position The ownership of the left and right nodes is the caller of this function! If startIdx
, which specifies the start numbering for the left child , right child is startIdx+1, is zero then we number according to a complete binary tree, left = 2*m_idx +1 and right 2*m_idx + 2
Definition at line 1097 of file KdTree.hpp.
friend class Node [friend] |
Node Friends
Definition at line 1039 of file KdTree.hpp.
friend class NodeSimple [friend] |
Definition at line 1041 of file KdTree.hpp.
friend class Tree [friend] |
Tree Access
Definition at line 1033 of file KdTree.hpp.
friend class TreeBase [friend] |
Definition at line 1035 of file KdTree.hpp.
BoundaryInfoType ApproxMVBB::KdTree::Node< TTraits >::m_bound [private] |
Boundary information which is empty for non-leaf nodes Pointer which point to the subtrees min/max for each dimension
Definition at line 1250 of file KdTree.hpp.
NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::m_data = nullptr [private] |
Definition at line 1245 of file KdTree.hpp.