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

Public Member Functions

auto assign_from_another (_other:meshlib::Owned< meshlib::AABBTreePolyline2 >) -> &mut meshlib::AABBTreePolyline2
auto nodes () const -> &meshlib::Vector_MR_AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f_MR_NodeId
auto index (nid:meshlib::NodeId) const -> &meshlib::AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
auto leaves () const -> &meshlib::Vector_MR_BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
auto leaf (n:meshlib::NodeId) const -> &meshlib::BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
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::Box2f
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_box2f () const -> &meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f
auto upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut () -> &mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

Static Public Member Functions

static auto new () -> meshlib::Owned< meshlib::AABBTreePolyline2 >
static auto construct_from_another (_other:meshlib::Owned< meshlib::AABBTreePolyline2 >) -> meshlib::Owned< meshlib::AABBTreePolyline2 >
static auto construct (polyline:&meshlib::Polyline2) -> meshlib::Owned< meshlib::AABBTreePolyline2 >
static auto is_leaf (n:meshlib::NodeId) -> bool
static auto r (n:meshlib::NodeId) -> &meshlib::Box2f
static auto static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f (object:&meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f) -> &Self
static auto static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut (object:&mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f) -> &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::AABBTreePolyline2. Base classes: Direct: (non-virtual) MR::AABBTreeBase<MR::AABBTreeTraits<MR::UndirectedEdgeTag, MR::Box2f>>

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

Member Function Documentation

◆ assign_from_another()

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

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

Calls MR_AABBTreePolyline2_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()

auto meshlib::AABBTreePolyline2::construct ( polyline:&meshlib::Polyline2 ) -> meshlib::Owned< meshlib::AABBTreePolyline2 >
static

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

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

◆ construct_from_another()

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

Generated from constructor MR::AABBTreePolyline2::AABBTreePolyline2.

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

◆ empty()

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

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

Calls MR_AABBTreePolyline2_empty().

◆ get_bounding_box()

auto meshlib::AABBTreePolyline2::get_bounding_box ( ) const -> meshlib::Box2f

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

Calls MR_AABBTreePolyline2_getBoundingBox().

◆ get_leaf_order()

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

Calls MR_AABBTreePolyline2_getLeafOrder().

◆ get_leaf_order_and_reset()

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

Calls MR_AABBTreePolyline2_getLeafOrderAndReset().

◆ get_nodes_from_leaves()

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

Calls MR_AABBTreePolyline2_getNodesFromLeaves().

◆ get_subtree_leaves()

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

Calls MR_AABBTreePolyline2_getSubtreeLeaves().

◆ get_subtrees()

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

Calls MR_AABBTreePolyline2_getSubtrees().

◆ heap_bytes()

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

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

Calls MR_AABBTreePolyline2_heapBytes().

◆ index()

auto meshlib::AABBTreePolyline2::index ( nid:meshlib::NodeId ) const -> &meshlib::AABBTreeNode_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

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

Calls MR_AABBTreePolyline2_index().

◆ is_leaf()

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

Calls MR_AABBTreePolyline2_isLeaf().

◆ leaf()

auto meshlib::AABBTreePolyline2::leaf ( n:meshlib::NodeId ) const -> &meshlib::BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

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

Calls MR_AABBTreePolyline2_leaf().

◆ leaf_id()

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

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

Calls MR_AABBTreePolyline2_leafId().

◆ leaves()

auto meshlib::AABBTreePolyline2::leaves ( ) const -> &meshlib::Vector_MR_BoxedLeaf_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

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

Calls MR_AABBTreePolyline2_leaves().

◆ new()

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

Constructs an empty (default-constructed) instance.

Calls MR_AABBTreePolyline2_DefaultConstruct().

◆ nodes()

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

Calls MR_AABBTreePolyline2_nodes().

◆ num_leaves()

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

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

Calls MR_AABBTreePolyline2_numLeaves().

◆ r()

auto meshlib::AABBTreePolyline2::r ( n:meshlib::NodeId ) -> &meshlib::Box2f
static

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

Calls MR_AABBTreePolyline2_box().

◆ root_node_id()

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

Calls MR_AABBTreePolyline2_rootNodeId().

◆ static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f()

auto meshlib::AABBTreePolyline2::static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f ( object:&meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ) -> &Self
static

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

Calls MR_AABBTreePolyline2_StaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f(). Undefined behavior if the object isn't actually a AABBTreePolyline2.

Note
This function is unsafe.

◆ static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut()

auto meshlib::AABBTreePolyline2::static_downcast_from_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut ( object:&mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f ) -> &mut Self
static

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

Calls MR_AABBTreePolyline2_MutableStaticDowncastFrom_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f(). Undefined behavior if the object isn't actually a AABBTreePolyline2.

Note
This function is unsafe.

◆ upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f()

auto meshlib::AABBTreePolyline2::upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f ( ) const -> &meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

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

Calls MR_AABBTreePolyline2_UpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f().

◆ upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut()

auto meshlib::AABBTreePolyline2::upcast_to_aabb_tree_base_mr_aabb_tree_traits_mr_undirected_edge_tag_mr_box2f_mut ( ) -> &mut meshlib::AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f

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

Calls MR_AABBTreePolyline2_MutableUpcastTo_MR_AABBTreeBase_MR_AABBTreeTraits_MR_UndirectedEdgeTag_MR_Box2f().


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