Public Member Functions | Private Attributes | Friends
ApproxMVBB::KdTree::Node< TTraits > Class Template Reference

#include <KdTree.hpp>

Inheritance diagram for ApproxMVBB::KdTree::Node< TTraits >:
Inheritance graph
[legend]

List of all members.

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

Detailed Description

template<typename TTraits>
class ApproxMVBB::KdTree::Node< TTraits >

Definition at line 1017 of file KdTree.hpp.


Constructor & Destructor Documentation

template<typename TTraits>
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.

template<typename TTraits>
ApproxMVBB::KdTree::Node< TTraits >::~Node ( ) [inline]

Definition at line 1054 of file KdTree.hpp.

template<typename TTraits>
template<typename Traits >
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.

template<typename TTraits>
ApproxMVBB::KdTree::Node< TTraits >::Node ( Node< TTraits > &&  n) [inline]

Move from node

Definition at line 1071 of file KdTree.hpp.


Member Function Documentation

template<typename TTraits>
void ApproxMVBB::KdTree::Node< TTraits >::cleanUp ( bool  data = true) [inline]

Definition at line 1232 of file KdTree.hpp.

template<typename TTraits>
NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::data ( ) [inline]

Definition at line 1084 of file KdTree.hpp.

template<typename TTraits>
const NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::data ( ) const [inline]

Definition at line 1087 of file KdTree.hpp.

template<typename TTraits>
const BoundaryInfoType& ApproxMVBB::KdTree::Node< TTraits >::getBoundaries ( ) const [inline]

Definition at line 1077 of file KdTree.hpp.

template<typename TTraits>
BoundaryInfoType& ApproxMVBB::KdTree::Node< TTraits >::getBoundaries ( ) [inline]

Definition at line 1078 of file KdTree.hpp.

template<typename TTraits>
template<typename NeighbourIdxMap >
void ApproxMVBB::KdTree::Node< TTraits >::getNeighbourLeafsIdx ( NeighbourIdxMap &  neigbourIdx,
PREC  minExtent 
) [inline]

Definition at line 1141 of file KdTree.hpp.

template<typename TTraits>
void ApproxMVBB::KdTree::Node< TTraits >::setBoundaryInfo ( const BoundaryInfoType &  b) [inline]

Definition at line 1080 of file KdTree.hpp.

template<typename TTraits>
std::size_t ApproxMVBB::KdTree::Node< TTraits >::size ( ) [inline]

Definition at line 1239 of file KdTree.hpp.

template<typename TTraits>
template<typename TSplitHeuristic >
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.


Friends And Related Function Documentation

template<typename TTraits>
friend class Node [friend]

Node Friends

Definition at line 1039 of file KdTree.hpp.

template<typename TTraits>
friend class NodeSimple [friend]

Definition at line 1041 of file KdTree.hpp.

template<typename TTraits>
friend class Tree [friend]

Tree Access

Definition at line 1033 of file KdTree.hpp.

template<typename TTraits>
friend class TreeBase [friend]

Definition at line 1035 of file KdTree.hpp.


Member Data Documentation

template<typename TTraits>
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.

template<typename TTraits>
NodeDataType* ApproxMVBB::KdTree::Node< TTraits >::m_data = nullptr [private]

Definition at line 1245 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