#include <KdTree.hpp>
Classes | |
| class | BoundaryInformation |
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 |
| m_aabb (std::move(n.m_aabb)) | |
| m_child (n.child) | |
| m_parent (n.parent) | |
| m_splitAxis (n.m_splitAxis) | |
| m_splitPosition (n.m_splitPosition) | |
| m_treeLevel (n.m_treeLevel) | |
| NodeBase () | |
| NodeBase (std::size_t idx, const AABB< Dimension > &aabb, unsigned int treeLevel=0) | |
| template<typename Derived > | |
| NodeBase (const 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::size_t | m_idx = std::numeric_limits<std::size_t>::max() |
| node index | |
| DerivedNode * | m_parent = nullptr |
| SplitAxisType | m_splitAxis = -1 |
| 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 | |
Node stuff =======================================================================================
Definition at line 731 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase | ( | ) | [inline] |
Definition at line 781 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase | ( | std::size_t | idx, |
| const AABB< Dimension > & | aabb, | ||
| unsigned int | treeLevel = 0 |
||
| ) | [inline] |
Definition at line 783 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::~NodeBase | ( | ) | [inline] |
Definition at line 787 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase | ( | const NodeBase< Derived, Dimension > & | n | ) | [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.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase | ( | std::size_t | idx, |
| const AABB< Dimension > & | aabb, | ||
| SplitAxisType | axis, | ||
| PREC | splitPos | ||
| ) | [inline, protected] |
Definition at line 887 of file KdTree.hpp.
| AABB<Dimension>& ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::aabb | ( | ) | [inline] |
Definition at line 833 of file KdTree.hpp.
| const AABB<Dimension>& ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::aabb | ( | ) | const [inline] |
Definition at line 836 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::ApproxMVBB_STATIC_ASSERT | ( | Dimension<=std::numeric_limits< char >:: | max() | ) | [private] |
| std::size_t ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getIdx | ( | ) | const [inline] |
Definition at line 855 of file KdTree.hpp.
| unsigned int ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getLevel | ( | ) | const [inline] |
Definition at line 877 of file KdTree.hpp.
| SplitAxisType ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitAxis | ( | ) | const [inline] |
Definition at line 866 of file KdTree.hpp.
| PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitPosition | ( | ) | const [inline] |
Definition at line 869 of file KdTree.hpp.
| PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitRatio | ( | ) | const [inline] |
Definition at line 872 of file KdTree.hpp.
| bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::hasChildren | ( | ) | const [inline] |
Definition at line 843 of file KdTree.hpp.
| bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::hasLeftChildren | ( | ) | const [inline] |
Definition at line 840 of file KdTree.hpp.
| bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::isLeaf | ( | ) | const [inline] |
Definition at line 847 of file KdTree.hpp.
| DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::leftNode | ( | ) | [inline] |
Definition at line 819 of file KdTree.hpp.
| const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::leftNode | ( | ) | const [inline] |
Definition at line 822 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_aabb | ( | std:: | moven.m_aabb | ) |
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_child | ( | n. | child | ) |
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_parent | ( | n. | parent | ) | [inline] |
Definition at line 805 of file KdTree.hpp.
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitAxis | ( | n. | m_splitAxis | ) |
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitPosition | ( | n. | m_splitPosition | ) |
| ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_treeLevel | ( | n. | m_treeLevel | ) |
| DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::parent | ( | ) | [inline] |
Definition at line 816 of file KdTree.hpp.
| const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::parent | ( | ) | const [inline] |
Definition at line 817 of file KdTree.hpp.
| DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::rightNode | ( | ) | [inline] |
Definition at line 826 of file KdTree.hpp.
| const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::rightNode | ( | ) | const [inline] |
Definition at line 829 of file KdTree.hpp.
| void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setChilds | ( | DerivedNode * | r, |
| DerivedNode * | l | ||
| ) | [inline] |
Definition at line 811 of file KdTree.hpp.
| void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setIdx | ( | std::size_t | i | ) | [inline] |
Definition at line 851 of file KdTree.hpp.
| void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setLevel | ( | unsigned int | l | ) | const [inline] |
Definition at line 881 of file KdTree.hpp.
| void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setSplitAxis | ( | SplitAxisType | splitAxis | ) | [inline] |
Definition at line 859 of file KdTree.hpp.
| void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setSplitPosition | ( | PREC | splitPos | ) | [inline] |
Definition at line 862 of file KdTree.hpp.
AABB<Dimension> ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_aabb [protected] |
Definition at line 893 of file KdTree.hpp.
std::size_t ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_idx = std::numeric_limits<std::size_t>::max() [protected] |
node index
Definition at line 891 of file KdTree.hpp.
DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_parent = nullptr [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 902 of file KdTree.hpp.
SplitAxisType ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitAxis = -1 [protected] |
-1 indicates leaf node
Definition at line 894 of file KdTree.hpp.
PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitPosition = 0.0 [protected] |
Definition at line 895 of file KdTree.hpp.
unsigned int ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_treeLevel = 0 [protected] |
Definition at line 892 of file KdTree.hpp.
unsigned int friend class ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase [private] |
all classes are friends (even the ones with other dimension, which results in compilation error
Definition at line 737 of file KdTree.hpp.