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

Public Member Functions

auto assign_from_another (_other:&meshlib::AABBTreeObjects) -> &mut meshlib::AABBTreeObjects
auto obj (oi:meshlib::ObjId) const -> &meshlib::MeshOrPoints
auto to_world (oi:meshlib::ObjId) const -> &meshlib::AffineXf3f
auto to_local_1 (oi:meshlib::ObjId) const -> &meshlib::AffineXf3f
auto to_local_0 () const -> &meshlib::Vector_MR_AffineXf3f_MR_ObjId
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)
auto upcast_to_aabb_tree_base_mr_obj_tree_traits () const -> &meshlib::AABBTreeBase_MR_ObjTreeTraits
auto upcast_to_aabb_tree_base_mr_obj_tree_traits_mut () -> &mut meshlib::AABBTreeBase_MR_ObjTreeTraits

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::AABBTreeObjects >
static auto construct_from_another (_other:&meshlib::AABBTreeObjects) -> meshlib::Owned< meshlib::AABBTreeObjects >
static auto construct (objs:&meshlib::Vector_MR_MeshOrPointsXf_MR_ObjId) -> meshlib::Owned< meshlib::AABBTreeObjects >
static auto is_leaf (n:meshlib::NodeId) -> bool
static auto r (n:meshlib::NodeId) -> &meshlib::Box3f
static auto static_downcast_from_aabb_tree_base_mr_obj_tree_traits (object:&meshlib::AABBTreeBase_MR_ObjTreeTraits) -> &Self
static auto static_downcast_from_aabb_tree_base_mr_obj_tree_traits_mut (object:&mut meshlib::AABBTreeBase_MR_ObjTreeTraits) -> &mut Self
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

tree containing world bounding boxes of individual objects having individual local-to-world transformations Generated from class MR::AABBTreeObjects. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::ObjTreeTraits>

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

Member Function Documentation

◆ assign_from_another()

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

Generated from method MR::AABBTreeObjects::operator=.

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

◆ construct()

auto meshlib::AABBTreeObjects::construct ( objs:&meshlib::Vector_MR_MeshOrPointsXf_MR_ObjId ) -> meshlib::Owned< meshlib::AABBTreeObjects >
static

creates tree for given set of objects each with its own transformation Generated from constructor MR::AABBTreeObjects::AABBTreeObjects.

Calls MR_AABBTreeObjects_Construct(). The reference to the parameter objs might be preserved in the constructed object.

◆ construct_from_another()

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

Generated from constructor MR::AABBTreeObjects::AABBTreeObjects.

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

◆ empty()

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

returns true if the tree has no leaves Generated from method MR::AABBTreeObjects::empty.

Calls MR_AABBTreeObjects_empty().

◆ get_bounding_box()

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

returns the root node bounding box Generated from method MR::AABBTreeObjects::getBoundingBox.

Calls MR_AABBTreeObjects_getBoundingBox().

◆ get_leaf_order()

void meshlib::AABBTreeObjects::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::AABBTreeObjects::getLeafOrder.

Calls MR_AABBTreeObjects_getLeafOrder().

◆ get_leaf_order_and_reset()

void meshlib::AABBTreeObjects::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::AABBTreeObjects::getLeafOrderAndReset.

Calls MR_AABBTreeObjects_getLeafOrderAndReset().

◆ get_nodes_from_leaves()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::getNodesFromLeaves.

Calls MR_AABBTreeObjects_getNodesFromLeaves().

◆ get_subtree_leaves()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::getSubtreeLeaves.

Calls MR_AABBTreeObjects_getSubtreeLeaves().

◆ get_subtrees()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::getSubtrees.

Calls MR_AABBTreeObjects_getSubtrees().

◆ heap_bytes()

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

returns the amount of memory this object occupies on heap Generated from method MR::AABBTreeObjects::heapBytes.

Calls MR_AABBTreeObjects_heapBytes().

◆ index()

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

const-access to any not-leaf node Generated from method MR::AABBTreeObjects::operator[].

Calls MR_AABBTreeObjects_index().

◆ is_leaf()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::isLeaf.

Calls MR_AABBTreeObjects_isLeaf().

◆ leaf()

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

returns the leaf encoded in given node id Generated from method MR::AABBTreeObjects::leaf.

Calls MR_AABBTreeObjects_leaf().

◆ leaf_id()

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

returns the id of the leaf encoded in given node id Generated from method MR::AABBTreeObjects::leafId.

Calls MR_AABBTreeObjects_leafId().

◆ leaves()

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

all leaves in the order of the tree right after its construction Generated from method MR::AABBTreeObjects::leaves.

Calls MR_AABBTreeObjects_leaves().

◆ new()

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

Constructs an empty (default-constructed) instance.

Calls MR_AABBTreeObjects_DefaultConstruct().

◆ nodes()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::nodes.

Calls MR_AABBTreeObjects_nodes().

◆ num_leaves()

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

returns the number of leaves in whole tree Generated from method MR::AABBTreeObjects::numLeaves.

Calls MR_AABBTreeObjects_numLeaves().

◆ obj()

auto meshlib::AABBTreeObjects::obj ( oi:meshlib::ObjId ) const -> &meshlib::MeshOrPoints

gets object by its id Generated from method MR::AABBTreeObjects::obj.

Calls MR_AABBTreeObjects_obj().

◆ r()

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

returns the bounding box of given node or leaf Generated from method MR::AABBTreeObjects::box.

Calls MR_AABBTreeObjects_box().

◆ root_node_id()

auto meshlib::AABBTreeObjects::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::AABBTreeObjects::rootNodeId.

Calls MR_AABBTreeObjects_rootNodeId().

◆ static_downcast_from_aabb_tree_base_mr_obj_tree_traits()

auto meshlib::AABBTreeObjects::static_downcast_from_aabb_tree_base_mr_obj_tree_traits ( object:&meshlib::AABBTreeBase_MR_ObjTreeTraits ) -> &Self
static

Static downcast from the base class MR::AABBTreeBase<MR::ObjTreeTraits>.

Calls MR_AABBTreeObjects_StaticDowncastFrom_MR_AABBTreeBase_MR_ObjTreeTraits(). Undefined behavior if the object isn't actually a AABBTreeObjects.

Note
This function is unsafe.

◆ static_downcast_from_aabb_tree_base_mr_obj_tree_traits_mut()

auto meshlib::AABBTreeObjects::static_downcast_from_aabb_tree_base_mr_obj_tree_traits_mut ( object:&mut meshlib::AABBTreeBase_MR_ObjTreeTraits ) -> &mut Self
static

Static downcast from the base class MR::AABBTreeBase<MR::ObjTreeTraits>.

Calls MR_AABBTreeObjects_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_ObjTreeTraits(). Undefined behavior if the object isn't actually a AABBTreeObjects.

Note
This function is unsafe.

◆ to_local_0()

auto meshlib::AABBTreeObjects::to_local_0 ( ) const -> &meshlib::Vector_MR_AffineXf3f_MR_ObjId

gets mapping: objId -> its transformation from world space to local space Generated from method MR::AABBTreeObjects::toLocal.

Calls MR_AABBTreeObjects_toLocal_0().

◆ to_local_1()

auto meshlib::AABBTreeObjects::to_local_1 ( oi:meshlib::ObjId ) const -> &meshlib::AffineXf3f

gets transformation from world space to local space of given object Generated from method MR::AABBTreeObjects::toLocal.

Calls MR_AABBTreeObjects_toLocal_1().

◆ to_world()

auto meshlib::AABBTreeObjects::to_world ( oi:meshlib::ObjId ) const -> &meshlib::AffineXf3f

gets transformation from local space of given object to world space Generated from method MR::AABBTreeObjects::toWorld.

Calls MR_AABBTreeObjects_toWorld().

◆ upcast_to_aabb_tree_base_mr_obj_tree_traits()

auto meshlib::AABBTreeObjects::upcast_to_aabb_tree_base_mr_obj_tree_traits ( ) const -> &meshlib::AABBTreeBase_MR_ObjTreeTraits

Upcasts to the base class MR::AABBTreeBase<MR::ObjTreeTraits>.

Calls MR_AABBTreeObjects_UpcastTo_MR_AABBTreeBase_MR_ObjTreeTraits().

◆ upcast_to_aabb_tree_base_mr_obj_tree_traits_mut()

auto meshlib::AABBTreeObjects::upcast_to_aabb_tree_base_mr_obj_tree_traits_mut ( ) -> &mut meshlib::AABBTreeBase_MR_ObjTreeTraits

Upcasts to the base class MR::AABBTreeBase<MR::ObjTreeTraits>.

Calls MR_AABBTreeObjects_MutableUpcastTo_MR_AABBTreeBase_MR_ObjTreeTraits().


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