MeshLib C++ Docs
Loading...
Searching...
No Matches

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 NodeVecnodes () const
 const-access to all nodes
const Nodeoperator[] (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_

Detailed Description

template<typename T>
class MR::AABBTreeBase< T >

base class for most AABB-trees (except for AABBTreePoints)


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