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

Public Member Functions

void reset (metric:&meshlib::std_function_float_from_MR_EdgeId)
auto add_start (startVert:meshlib::VertId, startMetric:f32) -> bool
auto reach_next () -> meshlib::Owned< meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert >
auto add_org_ring_steps (rv:&meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert) -> bool
auto grow_one_edge () -> meshlib::Owned< meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert >
auto done () const -> bool
auto done_distance () const -> f32
auto vert_path_info_map () const -> &meshlib::phmap::phmap_flat_hash_map_MR_VertId_MR_VertPathInfo_phmap_Hash_MR_VertId_phmap_EqualTo_MR_VertId_MR_Allocator_std_pair_const_MR_VertId_MR_VertPathInfo
auto get_vert_info (v:meshlib::VertId) const -> Option<&meshlib::VertPathInfo >
auto get_path_back (backpathStart:meshlib::VertId) const -> meshlib::Owned< meshlib::std_vector_MR_EdgeId >
auto track_path_back (v:meshlib::VertId, res:Option<&mut meshlib::std_vector_MR_EdgeId >) const -> meshlib::VertId
auto upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty () const -> &meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty
auto upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut () -> &mut meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty

Static Public Member Functions

static auto construct_from_another (_other:&meshlib::EdgePathsAStarBuilder) -> meshlib::Owned< meshlib::EdgePathsAStarBuilder >
static auto construct_mr_vert_id (mesh:&meshlib::Mesh, target:meshlib::VertId, start:meshlib::VertId) -> meshlib::Owned< meshlib::EdgePathsAStarBuilder >
static auto construct_mr_mesh_tri_point (mesh:&meshlib::Mesh, target:&meshlib::MeshTriPoint, start:&meshlib::MeshTriPoint) -> meshlib::Owned< meshlib::EdgePathsAStarBuilder >
static auto static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty (object:&meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty) -> &Self
static auto static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut (object:&mut meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty) -> &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

the class is responsible for finding shortest edge paths on a mesh in Euclidean metric using A* heuristics Generated from class MR::EdgePathsAStarBuilder. Base classes: Direct: (non-virtual) MR::EdgePathsBuilderT<MR::MetricToAStarPenalty>

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

Member Function Documentation

◆ add_org_ring_steps()

auto meshlib::EdgePathsAStarBuilder::add_org_ring_steps ( rv:&meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert ) -> bool

adds steps for all origin ring edges of the reached vertex; returns true if at least one step was added Generated from method MR::EdgePathsAStarBuilder::addOrgRingSteps.

Calls MR_EdgePathsAStarBuilder_addOrgRingSteps().

◆ add_start()

auto meshlib::EdgePathsAStarBuilder::add_start ( startVert:meshlib::VertId ,
startMetric:f32  ) -> bool

compares proposed metric with best value known for startVert; if proposed metric is smaller then adds it in the queue and returns true Generated from method MR::EdgePathsAStarBuilder::addStart.

Calls MR_EdgePathsAStarBuilder_addStart().

◆ construct_from_another()

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

Generated from constructor MR::EdgePathsAStarBuilder::EdgePathsAStarBuilder.

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

◆ construct_mr_mesh_tri_point()

auto meshlib::EdgePathsAStarBuilder::construct_mr_mesh_tri_point ( mesh:&meshlib::Mesh ,
target:&meshlib::MeshTriPoint ,
start:&meshlib::MeshTriPoint  ) -> meshlib::Owned< meshlib::EdgePathsAStarBuilder >
static

Generated from constructor MR::EdgePathsAStarBuilder::EdgePathsAStarBuilder.

Calls MR_EdgePathsAStarBuilder_Construct_MR_MeshTriPoint(). The reference to the parameter mesh might be preserved in the constructed object. The reference to the parameter target might be preserved in the constructed object. The reference to the parameter start might be preserved in the constructed object.

◆ construct_mr_vert_id()

auto meshlib::EdgePathsAStarBuilder::construct_mr_vert_id ( mesh:&meshlib::Mesh ,
target:meshlib::VertId ,
start:meshlib::VertId  ) -> meshlib::Owned< meshlib::EdgePathsAStarBuilder >
static

Generated from constructor MR::EdgePathsAStarBuilder::EdgePathsAStarBuilder.

Calls MR_EdgePathsAStarBuilder_Construct_MR_VertId(). The reference to the parameter mesh might be preserved in the constructed object. The reference to the parameter target might be preserved in the constructed object. The reference to the parameter start might be preserved in the constructed object.

◆ done()

auto meshlib::EdgePathsAStarBuilder::done ( ) const -> bool

returns true if further edge forest growth is impossible Generated from method MR::EdgePathsAStarBuilder::done.

Calls MR_EdgePathsAStarBuilder_done().

◆ done_distance()

auto meshlib::EdgePathsAStarBuilder::done_distance ( ) const -> f32

returns path length till the next candidate vertex or maximum float value if all vertices have been reached Generated from method MR::EdgePathsAStarBuilder::doneDistance.

Calls MR_EdgePathsAStarBuilder_doneDistance().

◆ get_path_back()

auto meshlib::EdgePathsAStarBuilder::get_path_back ( backpathStart:meshlib::VertId ) const -> meshlib::Owned< meshlib::std_vector_MR_EdgeId >

returns the path in the forest from given vertex to one of start vertices Generated from method MR::EdgePathsAStarBuilder::getPathBack.

Calls MR_EdgePathsAStarBuilder_getPathBack().

◆ get_vert_info()

auto meshlib::EdgePathsAStarBuilder::get_vert_info ( v:meshlib::VertId ) const -> Option<&meshlib::VertPathInfo >

returns one element from the map (or nullptr if the element is missing) Generated from method MR::EdgePathsAStarBuilder::getVertInfo.

Calls MR_EdgePathsAStarBuilder_getVertInfo().

◆ grow_one_edge()

auto meshlib::EdgePathsAStarBuilder::grow_one_edge ( ) -> meshlib::Owned< meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert >

the same as reachNext() + addOrgRingSteps() Generated from method MR::EdgePathsAStarBuilder::growOneEdge.

Calls MR_EdgePathsAStarBuilder_growOneEdge().

◆ reach_next()

auto meshlib::EdgePathsAStarBuilder::reach_next ( ) -> meshlib::Owned< meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty_ReachedVert >

include one more vertex in the final forest, returning vertex-info for the newly reached vertex; returns invalid VertId in v-field if no more vertices left Generated from method MR::EdgePathsAStarBuilder::reachNext.

Calls MR_EdgePathsAStarBuilder_reachNext().

◆ reset()

void meshlib::EdgePathsAStarBuilder::reset ( metric:&meshlib::std_function_float_from_MR_EdgeId )

clears everything without freeing memory, and sets new metric Generated from method MR::EdgePathsAStarBuilder::reset.

Calls MR_EdgePathsAStarBuilder_reset().

◆ static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty()

auto meshlib::EdgePathsAStarBuilder::static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty ( object:&meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty ) -> &Self
static

Static downcast from the base class MR::EdgePathsBuilderT<MR::MetricToAStarPenalty>.

Calls MR_EdgePathsAStarBuilder_StaticDowncastFrom_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty(). Undefined behavior if the object isn't actually a EdgePathsAStarBuilder.

Note
This function is unsafe.

◆ static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut()

auto meshlib::EdgePathsAStarBuilder::static_downcast_from_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut ( object:&mut meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty ) -> &mut Self
static

Static downcast from the base class MR::EdgePathsBuilderT<MR::MetricToAStarPenalty>.

Calls MR_EdgePathsAStarBuilder_MutableStaticDowncastFrom_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty(). Undefined behavior if the object isn't actually a EdgePathsAStarBuilder.

Note
This function is unsafe.

◆ track_path_back()

auto meshlib::EdgePathsAStarBuilder::track_path_back ( v:meshlib::VertId ,
res:Option<&mut meshlib::std_vector_MR_EdgeId >  ) const -> meshlib::VertId

tracks back path in the forest from the given vertex to one of start vertices, which is returned; optionally appends tracked path (res) Generated from method MR::EdgePathsAStarBuilder::trackPathBack.

Calls MR_EdgePathsAStarBuilder_trackPathBack().

◆ upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty()

auto meshlib::EdgePathsAStarBuilder::upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty ( ) const -> &meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty

Upcasts to the base class MR::EdgePathsBuilderT<MR::MetricToAStarPenalty>.

Calls MR_EdgePathsAStarBuilder_UpcastTo_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty().

◆ upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut()

auto meshlib::EdgePathsAStarBuilder::upcast_to_edge_paths_builder_t_mr_metric_to_a_star_penalty_mut ( ) -> &mut meshlib::EdgePathsBuilderT_MR_MetricToAStarPenalty

Upcasts to the base class MR::EdgePathsBuilderT<MR::MetricToAStarPenalty>.

Calls MR_EdgePathsAStarBuilder_MutableUpcastTo_MR_EdgePathsBuilderT_MR_MetricToAStarPenalty().

◆ vert_path_info_map()

gives read access to the map from vertex to path to it Generated from method MR::EdgePathsAStarBuilder::vertPathInfoMap.

Calls MR_EdgePathsAStarBuilder_vertPathInfoMap().


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