base class for most AABB-trees (except for AABBTreePoints) More...
#include <MRMesh/MRAABBTreeBase.h>
Public Types | |
| using | Traits = T |
| using | Node = AABBTreeNode<Traits> |
| using | NodeVec = Vector<Node, NodeId> |
| using | LeafTag = typename T::LeafTag |
| using | LeafId = typename T::LeafId |
| using | LeafBitSet = TaggedBitSet<LeafTag> |
| using | LeafBMap = BMap<LeafId, LeafId> |
| using | BoxT = typename T::BoxT |
Public Member Functions | |
| const NodeVec & | nodes () const |
| const-access to all nodes | |
| const Node & | operator[] (NodeId nid) const |
| const-access to any node | |
| BoxT | getBoundingBox () const |
| returns the root node bounding box | |
| size_t | heapBytes () const |
| returns the amount of memory this object occupies on heap | |
| size_t | numLeaves () const |
| returns the number of leaves in whole tree | |
| std::vector< NodeId > | getSubtrees (int minNum) const |
| returns at least given number of top-level not-intersecting subtrees, union of which contain all tree leaves | |
| LeafBitSet | getSubtreeLeaves (NodeId subtreeRoot) const |
| returns all leaves in the subtree with given root | |
| NodeBitSet | getNodesFromLeaves (const LeafBitSet &leaves) const |
| returns set of nodes containing among direct or indirect children given leaves | |
| void | getLeafOrder (LeafBMap &leafMap) const |
| void | getLeafOrderAndReset (LeafBMap &leafMap) |
Static Public Member Functions | |
| static NodeId | rootNodeId () |
| returns root node id | |
Protected Attributes | |
| NodeVec | nodes_ |
base class for most AABB-trees (except for AABBTreePoints)