#include <KdTree.hpp>
Classes | |
class | BoundaryInformation |
Public Types | |
using | BoundaryInfoType = BoundaryInformation |
using | DerivedNode = TDerivedNode |
using | SplitAxisType = char |
Public Member Functions | |
AABB< Dimension > & | aabb () |
const AABB< Dimension > & | aabb () const |
std::size_t | getIdx () const |
unsigned int | getLevel () const |
SplitAxisType | getSplitAxis () const |
PREC | getSplitPosition () const |
PREC | getSplitRatio () const |
bool | hasChildren () const |
bool | hasLeftChildren () const |
bool | isLeaf () const |
DerivedNode * | leftNode () |
const DerivedNode * | leftNode () const |
NodeBase () | |
NodeBase (std::size_t idx, const AABB< Dimension > &aabb, unsigned int treeLevel=0) | |
template<typename Derived > | |
NodeBase (const NodeBase< Derived, Dimension > &n) | |
template<typename Derived > | |
NodeBase (NodeBase< Derived, Dimension > &&n) | |
DerivedNode * | parent () |
const DerivedNode * | parent () const |
DerivedNode * | rightNode () |
const DerivedNode * | rightNode () const |
void | setChilds (DerivedNode *r, DerivedNode *l) |
void | setIdx (std::size_t i) |
void | setLevel (unsigned int l) const |
void | setSplitAxis (SplitAxisType splitAxis) |
void | setSplitPosition (PREC splitPos) |
~NodeBase () | |
Protected Member Functions | |
NodeBase (std::size_t idx, const AABB< Dimension > &aabb, SplitAxisType axis, PREC splitPos) | |
Protected Attributes | |
AABB< Dimension > | m_aabb |
std::array< DerivedNode *, 2 > | m_child {{nullptr,nullptr}} |
std::size_t | m_idx = std::numeric_limits<std::size_t>::max() |
node index More... | |
DerivedNode * | m_parent = nullptr |
SplitAxisType | m_splitAxis = -1 |
-1 indicates leaf node More... | |
PREC | m_splitPosition = 0.0 |
unsigned int | m_treeLevel = 0 |
Private Member Functions | |
ApproxMVBB_STATIC_ASSERT (Dimension<=std::numeric_limits< char >::max()) template< typename D | |
Private Attributes | |
unsigned int friend class | NodeBase |
all classes are friends (even the ones with other dimension, which results in compilation error More... | |
Node stuff =======================================================================================
Definition at line 731 of file KdTree.hpp.
using ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::BoundaryInfoType = BoundaryInformation |
Definition at line 779 of file KdTree.hpp.
using ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::DerivedNode = TDerivedNode |
Definition at line 741 of file KdTree.hpp.
using ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::SplitAxisType = char |
Definition at line 742 of file KdTree.hpp.
|
inline |
Definition at line 781 of file KdTree.hpp.
|
inline |
Definition at line 783 of file KdTree.hpp.
|
inline |
Definition at line 787 of file KdTree.hpp.
|
inline |
Copy from node Childs are not deep copied (since the node does not own the childs) Values of the child pointers n
are left uninitialized. The tree class is responsible for copying the childs accordingly.
Definition at line 795 of file KdTree.hpp.
|
inline |
Move from node
Definition at line 802 of file KdTree.hpp.
|
inlineprotected |
Definition at line 887 of file KdTree.hpp.
|
inline |
Definition at line 833 of file KdTree.hpp.
|
inline |
Definition at line 836 of file KdTree.hpp.
|
private |
|
inline |
Definition at line 855 of file KdTree.hpp.
|
inline |
Definition at line 877 of file KdTree.hpp.
|
inline |
Definition at line 866 of file KdTree.hpp.
|
inline |
Definition at line 869 of file KdTree.hpp.
|
inline |
Definition at line 872 of file KdTree.hpp.
|
inline |
Definition at line 843 of file KdTree.hpp.
|
inline |
Definition at line 840 of file KdTree.hpp.
|
inline |
Definition at line 847 of file KdTree.hpp.
|
inline |
Definition at line 819 of file KdTree.hpp.
|
inline |
Definition at line 822 of file KdTree.hpp.
|
inline |
Definition at line 816 of file KdTree.hpp.
|
inline |
Definition at line 817 of file KdTree.hpp.
|
inline |
Definition at line 826 of file KdTree.hpp.
|
inline |
Definition at line 829 of file KdTree.hpp.
|
inline |
Definition at line 811 of file KdTree.hpp.
|
inline |
Definition at line 851 of file KdTree.hpp.
|
inline |
Definition at line 881 of file KdTree.hpp.
|
inline |
Definition at line 859 of file KdTree.hpp.
|
inline |
Definition at line 862 of file KdTree.hpp.
|
protected |
Definition at line 893 of file KdTree.hpp.
|
protected |
Child Nodes The child nodes, these objects are not owned by this node and if it is not a leaf, both pointers are valid!
Definition at line 901 of file KdTree.hpp.
|
protected |
node index
Definition at line 891 of file KdTree.hpp.
|
protected |
Definition at line 902 of file KdTree.hpp.
|
protected |
-1 indicates leaf node
Definition at line 894 of file KdTree.hpp.
|
protected |
Definition at line 895 of file KdTree.hpp.
|
protected |
Definition at line 892 of file KdTree.hpp.
|
private |
all classes are friends (even the ones with other dimension, which results in compilation error
Definition at line 737 of file KdTree.hpp.