Classes | Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | Private Attributes
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension > Class Template Reference

#include <KdTree.hpp>

List of all members.

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

Detailed Description

template<typename TDerivedNode, unsigned int Dimension>
class ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >

Node stuff =======================================================================================

Definition at line 731 of file KdTree.hpp.


Constructor & Destructor Documentation

template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::NodeBase ( ) [inline]

Definition at line 781 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
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.

template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::~NodeBase ( ) [inline]

Definition at line 787 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
template<typename Derived >
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.

template<typename TDerivedNode, unsigned int Dimension>
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.


Member Function Documentation

template<typename TDerivedNode, unsigned int Dimension>
AABB<Dimension>& ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::aabb ( ) [inline]

Definition at line 833 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
const AABB<Dimension>& ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::aabb ( ) const [inline]

Definition at line 836 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::ApproxMVBB_STATIC_ASSERT ( Dimension<=std::numeric_limits< char >::  max()) [private]
template<typename TDerivedNode, unsigned int Dimension>
std::size_t ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getIdx ( ) const [inline]

Definition at line 855 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
unsigned int ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getLevel ( ) const [inline]

Definition at line 877 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
SplitAxisType ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitAxis ( ) const [inline]

Definition at line 866 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitPosition ( ) const [inline]

Definition at line 869 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::getSplitRatio ( ) const [inline]

Definition at line 872 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::hasChildren ( ) const [inline]

Definition at line 843 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::hasLeftChildren ( ) const [inline]

Definition at line 840 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
bool ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::isLeaf ( ) const [inline]

Definition at line 847 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::leftNode ( ) [inline]

Definition at line 819 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::leftNode ( ) const [inline]

Definition at line 822 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_aabb ( std::  moven.m_aabb)
template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_child ( n.  child)
template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_parent ( n.  parent) [inline]

Definition at line 805 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitAxis ( n.  m_splitAxis)
template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitPosition ( n.  m_splitPosition)
template<typename TDerivedNode, unsigned int Dimension>
ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_treeLevel ( n.  m_treeLevel)
template<typename TDerivedNode, unsigned int Dimension>
DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::parent ( ) [inline]

Definition at line 816 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::parent ( ) const [inline]

Definition at line 817 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::rightNode ( ) [inline]

Definition at line 826 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
const DerivedNode* ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::rightNode ( ) const [inline]

Definition at line 829 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setChilds ( DerivedNode *  r,
DerivedNode *  l 
) [inline]

Definition at line 811 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setIdx ( std::size_t  i) [inline]

Definition at line 851 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setLevel ( unsigned int  l) const [inline]

Definition at line 881 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setSplitAxis ( SplitAxisType  splitAxis) [inline]

Definition at line 859 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
void ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::setSplitPosition ( PREC  splitPos) [inline]

Definition at line 862 of file KdTree.hpp.


Member Data Documentation

template<typename TDerivedNode, unsigned int Dimension>
AABB<Dimension> ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_aabb [protected]

Definition at line 893 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
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.

template<typename TDerivedNode, unsigned int Dimension>
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.

template<typename TDerivedNode, unsigned int Dimension>
SplitAxisType ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitAxis = -1 [protected]

-1 indicates leaf node

Definition at line 894 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
PREC ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_splitPosition = 0.0 [protected]

Definition at line 895 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
unsigned int ApproxMVBB::KdTree::NodeBase< TDerivedNode, Dimension >::m_treeLevel = 0 [protected]

Definition at line 892 of file KdTree.hpp.

template<typename TDerivedNode, unsigned int Dimension>
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.


The documentation for this class was generated from the following file:


asr_approx_mvbb
Author(s): Gassner Nikolai
autogenerated on Sat Jun 8 2019 20:21:50