MeshLib
 
Loading...
Searching...
No Matches
MR::AABBTreePolyline< V > Class Template Reference

bounding volume hierarchy for line segments More...

#include <MRAABBTreePolyline.h>

+ Inheritance diagram for MR::AABBTreePolyline< V >:

Public Member Functions

MRMESH_API AABBTreePolyline (const typename PolylineTraits< V >::Polyline &polyline)
 creates tree for given polyline
 
 AABBTreePolyline (AABBTreePolyline &&) noexcept=default
 
AABBTreePolylineoperator= (AABBTreePolyline &&) noexcept=default
 
- Public Member Functions inherited from MR::AABBTreeBase< LineTreeTraits< V > >
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
 
MRMESH_API 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)
 

Public Attributes

MRMESH_API AABBTreePolyline(const Mesh &mesh, const UndirectedEdgeBitSet &edgeSet) MR_REQUIRES_IF_SUPPORTEDAABBTreePolyline )()=default
 creates tree for selected edges on the mesh (only for 3d tree)
 

Friends

class UniqueThreadSafeOwner< AABBTreePolyline >
 

Additional Inherited Members

- Public Types inherited from MR::AABBTreeBase< LineTreeTraits< V > >
using Traits
 
using Node
 
using NodeVec
 
using LeafTag
 
using LeafId
 
using LeafBitSet
 
using LeafBMap
 
using BoxT
 
- Static Public Member Functions inherited from MR::AABBTreeBase< LineTreeTraits< V > >
static NodeId rootNodeId ()
 returns root node id
 
- Protected Attributes inherited from MR::AABBTreeBase< LineTreeTraits< V > >
NodeVec nodes_
 

Detailed Description

template<typename V>
class MR::AABBTreePolyline< V >

bounding volume hierarchy for line segments

Constructor & Destructor Documentation

◆ AABBTreePolyline() [1/2]

template<typename V >
MRMESH_API MR::AABBTreePolyline< V >::AABBTreePolyline ( const typename PolylineTraits< V >::Polyline & polyline)
explicit

creates tree for given polyline

◆ AABBTreePolyline() [2/2]

template<typename V >
MR::AABBTreePolyline< V >::AABBTreePolyline ( AABBTreePolyline< V > && )
defaultnoexcept

Member Function Documentation

◆ operator=()

template<typename V >
AABBTreePolyline & MR::AABBTreePolyline< V >::operator= ( AABBTreePolyline< V > && )
defaultnoexcept

Friends And Related Symbol Documentation

◆ UniqueThreadSafeOwner< AABBTreePolyline >

template<typename V >
friend class UniqueThreadSafeOwner< AABBTreePolyline >
friend

Member Data Documentation

◆ AABBTreePolyline

template<typename V >
MRMESH_API AABBTreePolyline(const Mesh &mesh, const UndirectedEdgeBitSet &edgeSet) MR_REQUIRES_IF_SUPPORTED( MR::AABBTreePolyline< V >::AABBTreePolyline) ()=default
default

creates tree for selected edges on the mesh (only for 3d tree)


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