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

Public Member Functions

auto assign_from_another (_other:meshlib::Owned< meshlib::AABBTreePolyline3 >) -> &mut meshlib::AABBTreePolyline3
auto nodes () const -> &meshlib::Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f_MR_NodeId
auto index (nid:meshlib::NodeId) const -> &meshlib::AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
auto leaves () const -> &meshlib::Vector_MR_BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
auto leaf (n:meshlib::NodeId) const -> &meshlib::BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
auto leaf_id (n:meshlib::NodeId) const -> meshlib::UndirectedEdgeId
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::UndirectedEdgeBitSet >
auto get_nodes_from_leaves (leaves:&meshlib::UndirectedEdgeBitSet) const -> meshlib::Owned< meshlib::NodeBitSet >
void get_leaf_order (leafMap:&mut meshlib::UndirectedEdgeBMap) const
void get_leaf_order_and_reset (leafMap:&mut meshlib::UndirectedEdgeBMap)
auto upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f () const -> &meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f
auto upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut () -> &mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::AABBTreePolyline3 >
static auto construct_from_another (_other:meshlib::Owned< meshlib::AABBTreePolyline3 >) -> meshlib::Owned< meshlib::AABBTreePolyline3 >
static auto construct_1 (polyline:&meshlib::Polyline3) -> meshlib::Owned< meshlib::AABBTreePolyline3 >
static auto construct_2 (mesh:&meshlib::Mesh, edgeSet:&meshlib::UndirectedEdgeBitSet) -> meshlib::Owned< meshlib::AABBTreePolyline3 >
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_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f (object:&meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f) -> &Self
static auto static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut (object:&mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f) -> &mut Self
Static Public Member Functions inherited from meshlib::CppClass
static void destroy (ptr:*mut Self)

Detailed Description

bounding volume hierarchy for line segments Generated from class MR::AABBTreePolyline3. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>

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

Member Function Documentation

◆ assign_from_another()

auto meshlib::AABBTreePolyline3::assign_from_another ( _other:meshlib::Owned< meshlib::AABBTreePolyline3 > ) -> &mut meshlib::AABBTreePolyline3

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

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

◆ construct_1()

auto meshlib::AABBTreePolyline3::construct_1 ( polyline:&meshlib::Polyline3 ) -> meshlib::Owned< meshlib::AABBTreePolyline3 >
static

creates tree for given polyline Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3.

Calls MR_AABBTreePolyline3_Construct_1(). The reference to the parameter polyline might be preserved in the constructed object.

◆ construct_2()

auto meshlib::AABBTreePolyline3::construct_2 ( mesh:&meshlib::Mesh ,
edgeSet:&meshlib::UndirectedEdgeBitSet  ) -> meshlib::Owned< meshlib::AABBTreePolyline3 >
static

creates tree for selected edges on the mesh (only for 3d tree) Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3.

Calls MR_AABBTreePolyline3_Construct_2(). The reference to the parameter mesh might be preserved in the constructed object. The reference to the parameter edgeSet might be preserved in the constructed object.

◆ construct_from_another()

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

Generated from constructor MR::AABBTreePolyline3::AABBTreePolyline3.

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

◆ empty()

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

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

Calls MR_AABBTreePolyline3_empty().

◆ get_bounding_box()

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

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

Calls MR_AABBTreePolyline3_getBoundingBox().

◆ get_leaf_order()

void meshlib::AABBTreePolyline3::get_leaf_order ( leafMap:&mut meshlib::UndirectedEdgeBMap ) 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::AABBTreePolyline3::getLeafOrder.

Calls MR_AABBTreePolyline3_getLeafOrder().

◆ get_leaf_order_and_reset()

void meshlib::AABBTreePolyline3::get_leaf_order_and_reset ( leafMap:&mut meshlib::UndirectedEdgeBMap )

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::AABBTreePolyline3::getLeafOrderAndReset.

Calls MR_AABBTreePolyline3_getLeafOrderAndReset().

◆ get_nodes_from_leaves()

auto meshlib::AABBTreePolyline3::get_nodes_from_leaves ( leaves:&meshlib::UndirectedEdgeBitSet ) const -> meshlib::Owned< meshlib::NodeBitSet >

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

Calls MR_AABBTreePolyline3_getNodesFromLeaves().

◆ get_subtree_leaves()

auto meshlib::AABBTreePolyline3::get_subtree_leaves ( subtreeRoot:meshlib::NodeId ) const -> meshlib::Owned< meshlib::UndirectedEdgeBitSet >

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

Calls MR_AABBTreePolyline3_getSubtreeLeaves().

◆ get_subtrees()

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

Calls MR_AABBTreePolyline3_getSubtrees().

◆ heap_bytes()

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

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

Calls MR_AABBTreePolyline3_heapBytes().

◆ index()

auto meshlib::AABBTreePolyline3::index ( nid:meshlib::NodeId ) const -> &meshlib::AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

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

Calls MR_AABBTreePolyline3_index().

◆ is_leaf()

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

Calls MR_AABBTreePolyline3_isLeaf().

◆ leaf()

auto meshlib::AABBTreePolyline3::leaf ( n:meshlib::NodeId ) const -> &meshlib::BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

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

Calls MR_AABBTreePolyline3_leaf().

◆ leaf_id()

auto meshlib::AABBTreePolyline3::leaf_id ( n:meshlib::NodeId ) const -> meshlib::UndirectedEdgeId

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

Calls MR_AABBTreePolyline3_leafId().

◆ leaves()

auto meshlib::AABBTreePolyline3::leaves ( ) const -> &meshlib::Vector_MR_BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

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

Calls MR_AABBTreePolyline3_leaves().

◆ new()

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

Constructs an empty (default-constructed) instance.

Calls MR_AABBTreePolyline3_DefaultConstruct().

◆ nodes()

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

Calls MR_AABBTreePolyline3_nodes().

◆ num_leaves()

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

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

Calls MR_AABBTreePolyline3_numLeaves().

◆ r()

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

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

Calls MR_AABBTreePolyline3_box().

◆ root_node_id()

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

Calls MR_AABBTreePolyline3_rootNodeId().

◆ static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f()

auto meshlib::AABBTreePolyline3::static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f ( object:&meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ) -> &Self
static

Static downcast from the base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.

Calls MR_AABBTreePolyline3_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f(). Undefined behavior if the object isn't actually a AABBTreePolyline3.

Note
This function is unsafe.

◆ static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut()

auto meshlib::AABBTreePolyline3::static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut ( object:&mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f ) -> &mut Self
static

Static downcast from the base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.

Calls MR_AABBTreePolyline3_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f(). Undefined behavior if the object isn't actually a AABBTreePolyline3.

Note
This function is unsafe.

◆ upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f()

auto meshlib::AABBTreePolyline3::upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f ( ) const -> &meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

Upcasts to the base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.

Calls MR_AABBTreePolyline3_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f().

◆ upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut()

auto meshlib::AABBTreePolyline3::upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box3f_mut ( ) -> &mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f

Upcasts to the base class MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box3f>>.

Calls MR_AABBTreePolyline3_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box3f().


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