MeshLib C++ Docs
Loading...
Searching...
No Matches
MR::AABBTreeBase< T > Class Template Reference

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

#include <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
 
MRMESH_API 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
 
MRMESH_API LeafBitSet getSubtreeLeaves (NodeId subtreeRoot) const
 returns all leaves in the subtree with given root
 
MRMESH_API NodeBitSet getNodesFromLeaves (const LeafBitSet &leaves) const
 returns set of nodes containing among direct or indirect children given leaves
 
MRMESH_API void getLeafOrder (LeafBMap &leafMap) const
 
MRMESH_API 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: