MeshLib Rust Docs
Loading...
Searching...
No Matches
meshlib::AABBTreeBase_MR_ObjTreeTraits Struct Reference
Inheritance diagram for meshlib::AABBTreeBase_MR_ObjTreeTraits:

Public Member Functions

auto assign_from_another (_other:&meshlib::AABBTreeBase_MR_ObjTreeTraits) -> &mut meshlib::AABBTreeBase_MR_ObjTreeTraits
auto nodes () const -> &meshlib::Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId
auto index (nid:meshlib::NodeId) const -> &meshlib::AABBTreeNode_MR_ObjTreeTraits
auto leaves () const -> &meshlib::Vector_MR_BoxedLeaf_MR_ObjTreeTraits
auto leaf (n:meshlib::NodeId) const -> &meshlib::BoxedLeaf_MR_ObjTreeTraits
auto leaf_id (n:meshlib::NodeId) const -> meshlib::ObjId
auto empty () const -> bool
auto root_node_id () const -> meshlib::NodeId
auto get_bounding_box () const -> meshlib::Box3f
auto heap_bytes () const -> usize
auto num_leaves () const -> usize
auto get_subtrees (minNum:core::ffi::c_int) const -> meshlib::Owned< meshlib::std_vector_MR_NodeId >
auto get_subtree_leaves (subtreeRoot:meshlib::NodeId) const -> meshlib::Owned< meshlib::ObjBitSet >
auto get_nodes_from_leaves (leaves:&meshlib::ObjBitSet) const -> meshlib::Owned< meshlib::NodeBitSet >
void get_leaf_order (leafMap:&mut meshlib::BMap_MR_ObjId_MR_ObjId) const
void get_leaf_order_and_reset (leafMap:&mut meshlib::BMap_MR_ObjId_MR_ObjId)

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::AABBTreeBase_MR_ObjTreeTraits >
static auto construct_from_another (_other:&meshlib::AABBTreeBase_MR_ObjTreeTraits) -> meshlib::Owned< meshlib::AABBTreeBase_MR_ObjTreeTraits >
static auto is_leaf (n:meshlib::NodeId) -> bool
static auto r (n:meshlib::NodeId) -> &meshlib::Box3f
Static Public Member Functions inherited from meshlib::CppClass
static void destroy (ptr:*mut Self)
Static Public Member Functions inherited from meshlib::CppCopy
static auto copy (ptr:*const Self) -> *mut Self

Detailed Description

base class for the AABB-trees of polylines and objects Generated from class MR::AABBTreeBase<MR::ObjTreeTraits>. Derived classes: Direct: (non-virtual) MR::AABBTreeObjects

Generated from class MR::AABBTreeBase<MR::ObjTreeTraits>. Heap-allocated instances are held in Owned<AABBTreeBase_MR_ObjTreeTraits>.

Member Function Documentation

◆ assign_from_another()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::assign_from_another ( _other:&meshlib::AABBTreeBase_MR_ObjTreeTraits ) -> &mut meshlib::AABBTreeBase_MR_ObjTreeTraits

Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::operator=.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_AssignFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in this object.

◆ construct_from_another()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::construct_from_another ( _other:&meshlib::AABBTreeBase_MR_ObjTreeTraits ) -> meshlib::Owned< meshlib::AABBTreeBase_MR_ObjTreeTraits >
static

Generated from constructor MR::AABBTreeBase<MR::ObjTreeTraits>::AABBTreeBase.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.

◆ empty()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::empty ( ) const -> bool

returns true if the tree has no leaves Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::empty.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_empty().

◆ get_bounding_box()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::get_bounding_box ( ) const -> meshlib::Box3f

returns the root node bounding box Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getBoundingBox.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getBoundingBox().

◆ get_leaf_order()

void meshlib::AABBTreeBase_MR_ObjTreeTraits::get_leaf_order ( leafMap:&mut meshlib::BMap_MR_ObjId_MR_ObjId ) const

fills map: LeafId -> leaf#; buffer in leafMap must be resized before the call, and caller is responsible for filling missing leaf elements Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getLeafOrder.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getLeafOrder().

◆ get_leaf_order_and_reset()

void meshlib::AABBTreeBase_MR_ObjTreeTraits::get_leaf_order_and_reset ( leafMap:&mut meshlib::BMap_MR_ObjId_MR_ObjId )

fills map: LeafId -> leaf#, then resets leaf order to 0,1,2,...; buffer in leafMap must be resized before the call, and caller is responsible for filling missing leaf elements Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getLeafOrderAndReset.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getLeafOrderAndReset().

◆ get_nodes_from_leaves()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::get_nodes_from_leaves ( leaves:&meshlib::ObjBitSet ) const -> meshlib::Owned< meshlib::NodeBitSet >

returns set of not-leaf nodes containing among direct or indirect children given leaves Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getNodesFromLeaves.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getNodesFromLeaves().

◆ get_subtree_leaves()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::get_subtree_leaves ( subtreeRoot:meshlib::NodeId ) const -> meshlib::Owned< meshlib::ObjBitSet >

returns all leaves in the subtree with given root (can be a leaf) Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getSubtreeLeaves.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getSubtreeLeaves().

◆ get_subtrees()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::get_subtrees ( minNum:core::ffi::c_int ) const -> meshlib::Owned< meshlib::std_vector_MR_NodeId >

returns at least given number of top-level not-intersecting subtrees (some can be leaves), union of which contain all tree leaves Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::getSubtrees.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_getSubtrees().

◆ heap_bytes()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::heap_bytes ( ) const -> usize

returns the amount of memory this object occupies on heap Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::heapBytes.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_heapBytes().

◆ index()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::index ( nid:meshlib::NodeId ) const -> &meshlib::AABBTreeNode_MR_ObjTreeTraits

const-access to any not-leaf node Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::operator[].

Calls MR_AABBTreeBase_MR_ObjTreeTraits_index().

◆ is_leaf()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::is_leaf ( n:meshlib::NodeId ) -> bool
static

returns true if given node id is in fact a leaf (encoded as negative number) Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::isLeaf.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_isLeaf().

◆ leaf()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::leaf ( n:meshlib::NodeId ) const -> &meshlib::BoxedLeaf_MR_ObjTreeTraits

returns the leaf encoded in given node id Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::leaf.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_leaf().

◆ leaf_id()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::leaf_id ( n:meshlib::NodeId ) const -> meshlib::ObjId

returns the id of the leaf encoded in given node id Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::leafId.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_leafId().

◆ leaves()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::leaves ( ) const -> &meshlib::Vector_MR_BoxedLeaf_MR_ObjTreeTraits

all leaves in the order of the tree right after its construction Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::leaves.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_leaves().

◆ new()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::new ( ) -> meshlib::Owned< meshlib::AABBTreeBase_MR_ObjTreeTraits >
static

Constructs an empty (default-constructed) instance.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_DefaultConstruct().

◆ nodes()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::nodes ( ) const -> &meshlib::Vector_MR_AABBTreeNode_MR_ObjTreeTraits_MR_NodeId

const-access to all not-leaf nodes, a tree with N leaves has N-1 nodes Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::nodes.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_nodes().

◆ num_leaves()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::num_leaves ( ) const -> usize

returns the number of leaves in whole tree Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::numLeaves.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_numLeaves().

◆ r()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::r ( n:meshlib::NodeId ) -> &meshlib::Box3f
static

returns the bounding box of given node or leaf Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::box.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_box().

◆ root_node_id()

auto meshlib::AABBTreeBase_MR_ObjTreeTraits::root_node_id ( ) const -> meshlib::NodeId

returns root node id: 0 if the tree has at least two leaves, or the only leaf; must not be called for empty tree Generated from method MR::AABBTreeBase<MR::ObjTreeTraits>::rootNodeId.

Calls MR_AABBTreeBase_MR_ObjTreeTraits_rootNodeId().


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