#include <KdTree.hpp>

Classes | |
| struct | isKNNTraits |
| struct | isKNNTraits< KNNTraits< N, C > > |
| class | KNearestPrioQueue |
| struct | KNNTraits |
| struct | ParentInfo |
Public Types | |
| using | Base = TreeBase< typename TTraits::BaseTraits > |
| using | BaseTraits = typename TTraits::BaseTraits |
| using | SplitHeuristicType = typename Traits::SplitHeuristicType |
| using | Traits = TTraits |
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) |
| Tree & | operator= (const Tree &t)=delete |
| 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 () | |
Public Member Functions inherited from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits > | |
| void | build (NodeType *root, NodeMap &c, NodeToChildMap &links) |
| void | cleanUp (T &&...t) |
| void | enumerateNodes () |
| const NodeType * | getLeaf (const MatrixBase< Derived > &point) const |
| const NodeType * | getLeaf (const std::size_t &leafIndex) const |
| const LeafContainerType & | getLeafs () |
| const NodeType * | getLowestCommonAncestor (const NodeType *a, const NodeType *b) |
| const NodeType * | getNode (const std::size_t &globalIndex) const |
| const NodeContainerType & | getNodes () |
| const NodeType * | getRootNode () |
| std::tuple< std::size_t, std::size_t > | getStatistics () |
| void | resetTree () |
| TreeBase () | |
| TreeBase (TreeBase &&t) | |
| TreeBase (const TreeBase &t) | |
| TreeBase (const TreeBase< T > &t) | |
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 | |
| template<typename T > | |
| class | Tree |
| template<typename T > | |
| class | TreeSimple |
| class | XML |
Additional Inherited Members | |
Protected Member Functions inherited from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits > | |
| void | copyFrom (const TreeBase< T > &tree) |
| ~TreeBase () | |
| Prohibit the use of this base polymophically. More... | |
Protected Attributes inherited from ApproxMVBB::KdTree::TreeBase< TTraits::BaseTraits > | |
| NodeContainerType | m_leafs |
| Only leaf nodes , continously index ordered: leafs[idx]->getIdx() < leafs[idx+1]->getIdx();. More... | |
| NodeContainerType | m_nodes |
| All nodes, continously index ordered, with first element = m_root. More... | |
| NodeType * | m_root |
| Root node, has index 0! More... | |
Standart Class to build a kd-tree
Definition at line 721 of file KdTree.hpp.
| using ApproxMVBB::KdTree::Tree< TTraits >::Base = TreeBase<typename TTraits::BaseTraits> |
Definition at line 1792 of file KdTree.hpp.
| using ApproxMVBB::KdTree::Tree< TTraits >::BaseTraits = typename TTraits::BaseTraits |
Definition at line 1791 of file KdTree.hpp.
| using ApproxMVBB::KdTree::Tree< TTraits >::SplitHeuristicType = typename Traits::SplitHeuristicType |
Definition at line 1795 of file KdTree.hpp.
| using ApproxMVBB::KdTree::Tree< TTraits >::Traits = TTraits |
Definition at line 1790 of file KdTree.hpp.
|
inline |
Definition at line 1797 of file KdTree.hpp.
|
inline |
Definition at line 1798 of file KdTree.hpp.
|
inline |
Move constructor
Definition at line 1801 of file KdTree.hpp.
|
inline |
Copies the tree
Definition at line 1810 of file KdTree.hpp.
|
inlineexplicit |
Copies the tree with different traits
Definition at line 1817 of file KdTree.hpp.
|
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.
|
inlineprivate |
Definition at line 2351 of file KdTree.hpp.
|
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.
|
inline |
Definition at line 1966 of file KdTree.hpp.
|
inline |
Definition at line 1955 of file KdTree.hpp.
|
inline |
Definition at line 2158 of file KdTree.hpp.
|
inline |
============================================================================= Returns tuple with values (number of leafs, avg. leaf data size, min. leaf data size, max. leaf data size)
Definition at line 2295 of file KdTree.hpp.
|
inline |
Definition at line 2311 of file KdTree.hpp.
|
inline |
Definition at line 1949 of file KdTree.hpp.
|
delete |
|
inlineprivate |
Definition at line 2347 of file KdTree.hpp.
|
inline |
Definition at line 1832 of file KdTree.hpp.
|
inlineprivate |
Safety check for neighbour list
Definition at line 2358 of file KdTree.hpp.
Definition at line 1783 of file KdTree.hpp.
Definition at line 1786 of file KdTree.hpp.
|
friend |
Definition at line 2334 of file KdTree.hpp.
|
private |
Definition at line 2338 of file KdTree.hpp.
|
private |
Definition at line 2341 of file KdTree.hpp.
|
private |
Definition at line 2340 of file KdTree.hpp.
|
private |
Statistics ========================
Definition at line 2344 of file KdTree.hpp.