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

#include <KdTree.hpp>

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

List of all members.

Classes

struct  isKNNTraits< KNNTraits< N, C > >
class  KNearestPrioQueue
struct  KNNTraits
struct  ParentInfo

Public Member Functions

template<bool computeStatistics = true>
void build (const AABB< Dimension > &aabb, std::unique_ptr< NodeDataType > data, unsigned int maxTreeDepth=50, unsigned int maxLeafs=std::numeric_limits< unsigned int >::max())
template<bool computeStatistics = true, bool safetyCheck = true>
LeafNeighbourMapType buildLeafNeighbours (PREC minExtent)
template<bool computeStatistics = true, bool safetyCheck = true>
LeafNeighbourMapType buildLeafNeighboursAutomatic ()
template<typename TKNNTraits >
void getKNearestNeighbours (typename TKNNTraits::PrioQueue &kNearest) const
std::tuple< std::size_t,
std::size_t, std::size_t, PREC,
std::size_t, std::size_t, PREC,
PREC, std::size_t, std::size_t,
PREC > 
getStatistics ()
std::string getStatisticsString ()
template<typename... T>
void initSplitHeuristic (T &&...t)
Treeoperator= (const Tree &t)
void resetTree ()
 Tree ()
 Tree (Tree &&tree)
 Tree (const Tree &tree)
template<typename T >
 Tree (const Tree< T > &tree)
template<typename TTree >
 Tree (const TTree &tree)
 ~Tree ()

Private Member Functions

void averageStatistics ()
void resetStatistics ()
template<typename NeighbourMap >
void safetyCheckNeighbours (const NeighbourMap &n, PREC minExtent)

Private Attributes

SplitHeuristicType m_heuristic
unsigned int m_maxLeafs = std::numeric_limits<unsigned int>::max()
unsigned int m_maxTreeDepth = 50
TreeStatistics m_statistics

Friends

class Tree
class TreeSimple
class XML

Detailed Description

template<typename TTraits = TreeTraits<>>
class ApproxMVBB::KdTree::Tree< TTraits >

Standart Class to build a kd-tree

Definition at line 1779 of file KdTree.hpp.


Constructor & Destructor Documentation

template<typename TTraits = TreeTraits<>>
ApproxMVBB::KdTree::Tree< TTraits >::Tree ( ) [inline]

Definition at line 1797 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
ApproxMVBB::KdTree::Tree< TTraits >::~Tree ( ) [inline]

Definition at line 1798 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
ApproxMVBB::KdTree::Tree< TTraits >::Tree ( Tree< TTraits > &&  tree) [inline]

Move constructor

Definition at line 1801 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
ApproxMVBB::KdTree::Tree< TTraits >::Tree ( const Tree< TTraits > &  tree) [inline]

Copies the tree

Definition at line 1810 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<typename T >
ApproxMVBB::KdTree::Tree< TTraits >::Tree ( const Tree< T > &  tree) [inline, explicit]

Copies the tree with different traits

Definition at line 1817 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<typename TTree >
ApproxMVBB::KdTree::Tree< TTraits >::Tree ( const TTree< TTraits > &  tree) [inline]

Copies the tree if the underlying NodeType has a function NodeType(const TTree::NodeType & n) This tree needs to be a friend of TTree::NodeType to successfully copy the nodes!

Definition at line 1826 of file KdTree.hpp.


Member Function Documentation

template<typename TTraits = TreeTraits<>>
void ApproxMVBB::KdTree::Tree< TTraits >::averageStatistics ( ) [inline, private]

Definition at line 2351 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<bool computeStatistics = true>
void ApproxMVBB::KdTree::Tree< TTraits >::build ( const AABB< Dimension > &  aabb,
std::unique_ptr< NodeDataType >  data,
unsigned int  maxTreeDepth = 50,
unsigned int  maxLeafs = std::numeric_limits<unsigned int>::max() 
) [inline]

Builds a new Tree with the SplitHeurstic First node in m_nodes is always root! All following nodes are in breath first order, and continuously numbered and m_nodes[node->getIdx()] == node (index in sync with the list)

Definition at line 1843 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<bool computeStatistics = true, bool safetyCheck = true>
LeafNeighbourMapType ApproxMVBB::KdTree::Tree< TTraits >::buildLeafNeighbours ( PREC  minExtent) [inline]

Definition at line 1966 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<bool computeStatistics = true, bool safetyCheck = true>
LeafNeighbourMapType ApproxMVBB::KdTree::Tree< TTraits >::buildLeafNeighboursAutomatic ( ) [inline]

Definition at line 1955 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<typename TKNNTraits >
void ApproxMVBB::KdTree::Tree< TTraits >::getKNearestNeighbours ( typename TKNNTraits::PrioQueue &  kNearest) const [inline]

Definition at line 2158 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
std::tuple<std::size_t, std::size_t, std::size_t, PREC, std::size_t, std::size_t, PREC, PREC,std::size_t,std::size_t,PREC> ApproxMVBB::KdTree::Tree< TTraits >::getStatistics ( ) [inline]

============================================================================= Returns tuple with values (number of leafs, avg. leaf data size, min. leaf data size, max. leaf data size)

Reimplemented from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits >.

Definition at line 2295 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
std::string ApproxMVBB::KdTree::Tree< TTraits >::getStatisticsString ( ) [inline]

Definition at line 2311 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<typename... T>
void ApproxMVBB::KdTree::Tree< TTraits >::initSplitHeuristic ( T &&...  t) [inline]

Definition at line 1949 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
Tree& ApproxMVBB::KdTree::Tree< TTraits >::operator= ( const Tree< TTraits > &  t)
template<typename TTraits = TreeTraits<>>
void ApproxMVBB::KdTree::Tree< TTraits >::resetStatistics ( ) [inline, private]

Definition at line 2347 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
void ApproxMVBB::KdTree::Tree< TTraits >::resetTree ( ) [inline]

Reimplemented from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits >.

Definition at line 1832 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
template<typename NeighbourMap >
void ApproxMVBB::KdTree::Tree< TTraits >::safetyCheckNeighbours ( const NeighbourMap &  n,
PREC  minExtent 
) [inline, private]

Safety check for neighbour list

Definition at line 2358 of file KdTree.hpp.


Friends And Related Function Documentation

template<typename TTraits = TreeTraits<>>
friend class Tree [friend]

Definition at line 1783 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
friend class TreeSimple [friend]

Definition at line 1786 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
friend class XML [friend]

Reimplemented from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits >.

Definition at line 2334 of file KdTree.hpp.


Member Data Documentation

template<typename TTraits = TreeTraits<>>
SplitHeuristicType ApproxMVBB::KdTree::Tree< TTraits >::m_heuristic [private]

Definition at line 2338 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
unsigned int ApproxMVBB::KdTree::Tree< TTraits >::m_maxLeafs = std::numeric_limits<unsigned int>::max() [private]

Definition at line 2341 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
unsigned int ApproxMVBB::KdTree::Tree< TTraits >::m_maxTreeDepth = 50 [private]

Definition at line 2340 of file KdTree.hpp.

template<typename TTraits = TreeTraits<>>
TreeStatistics ApproxMVBB::KdTree::Tree< TTraits >::m_statistics [private]

Statistics ========================

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