Public Member Functions | |
| void | add_start_region (region:&meshlib::VertBitSet, startDistance:f32) |
| void | add_start_vertices (startVertices:&meshlib::phmap::phmap_flat_hash_map_MR_VertId_float_phmap_Hash_MR_VertId_phmap_EqualTo_MR_VertId_MR_Allocator_std_pair_const_MR_VertId_float) |
| void | add_start_edges_and_points (startEdges:&meshlib::UndirectedEdgeBitSet, startPoints:&meshlib::VertBitSet, startDistance:f32) |
| void | add_start (start:&meshlib::MeshTriPoint) |
| void | set_max_vert_updates (v:core::ffi::c_int) |
| auto | grow_one () -> meshlib::VertId |
| auto | take_distance_map () -> meshlib::Owned< meshlib::VertScalars > |
| auto | done () const -> bool |
| auto | done_distance () const -> f32 |
Static Public Member Functions | |
| static auto | construct_from_another (_other:&meshlib::SurfaceDistanceBuilder) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder > |
| static auto | construct_2 (mesh:&meshlib::Mesh, region:Option<&meshlib::VertBitSet >) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder > |
| static auto | construct_3 (mesh:&meshlib::Mesh, target:&meshlib::Vector3f, region:Option<&meshlib::VertBitSet >) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder > |
| 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 |
this class is responsible for iterative construction of distance map along the surface Generated from class MR::SurfaceDistanceBuilder.
Generated from class MR::SurfaceDistanceBuilder. Heap-allocated instances are held in Owned<SurfaceDistanceBuilder>.
| void meshlib::SurfaceDistanceBuilder::add_start | ( | start:&meshlib::MeshTriPoint | ) |
initiates distance construction from triangle vertices surrounding given start point (they all will be returned by growOne); the distances are from this point, each call adds a separate point Generated from method MR::SurfaceDistanceBuilder::addStart.
Calls MR_SurfaceDistanceBuilder_addStart().
| void meshlib::SurfaceDistanceBuilder::add_start_edges_and_points | ( | startEdges:&meshlib::UndirectedEdgeBitSet | , |
| startPoints:&meshlib::VertBitSet | , | ||
| startDistance:f32 | ) |
initiates distance construction from given start edges and start points with known start distance in all of them (their vertices will NOT be returned by growOne); the start edges connected by vertices make lines or regions; each start point is a point never united with other starts, even if it is one edge away from them, unless it is an end of a start edge Generated from method MR::SurfaceDistanceBuilder::addStartEdgesAndPoints.
Calls MR_SurfaceDistanceBuilder_addStartEdgesAndPoints().
| void meshlib::SurfaceDistanceBuilder::add_start_region | ( | region:&meshlib::VertBitSet | , |
| startDistance:f32 | ) |
initiates distance construction from given vertices with known start distance in all of them (region vertices will NOT be returned by growOne); the vertices connected by mesh edges make lines or regions, each isolated vertex is a point Generated from method MR::SurfaceDistanceBuilder::addStartRegion.
Calls MR_SurfaceDistanceBuilder_addStartRegion().
| void meshlib::SurfaceDistanceBuilder::add_start_vertices | ( | startVertices:&meshlib::phmap::phmap_flat_hash_map_MR_VertId_float_phmap_Hash_MR_VertId_phmap_EqualTo_MR_VertId_MR_Allocator_std_pair_const_MR_VertId_float | ) |
initiates distance construction from given start vertices with values in them (these vertices will NOT be returned by growOne if values in them are not decreased); the vertices connected by mesh edges make lines or regions (a line with different values is handled as a region), each isolated vertex is a point Generated from method MR::SurfaceDistanceBuilder::addStartVertices.
Calls MR_SurfaceDistanceBuilder_addStartVertices().
|
static |
Generated from constructor MR::SurfaceDistanceBuilder::SurfaceDistanceBuilder.
Calls MR_SurfaceDistanceBuilder_Construct_2(). The reference to the parameter mesh might be preserved in the constructed object. The reference to the parameter region might be preserved in the constructed object.
|
static |
Generated from constructor MR::SurfaceDistanceBuilder::SurfaceDistanceBuilder.
Calls MR_SurfaceDistanceBuilder_Construct_3(). 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 region might be preserved in the constructed object.
|
static |
Generated from constructor MR::SurfaceDistanceBuilder::SurfaceDistanceBuilder.
Calls MR_SurfaceDistanceBuilder_ConstructFromAnother(). The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object.
| auto meshlib::SurfaceDistanceBuilder::done | ( | ) | const -> bool |
returns true if further growth is impossible Generated from method MR::SurfaceDistanceBuilder::done.
Calls MR_SurfaceDistanceBuilder_done().
| auto meshlib::SurfaceDistanceBuilder::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::SurfaceDistanceBuilder::doneDistance.
Calls MR_SurfaceDistanceBuilder_doneDistance().
| auto meshlib::SurfaceDistanceBuilder::grow_one | ( | ) | -> meshlib::VertId |
processes one more candidate vertex, which is returned Generated from method MR::SurfaceDistanceBuilder::growOne.
Calls MR_SurfaceDistanceBuilder_growOne().
| void meshlib::SurfaceDistanceBuilder::set_max_vert_updates | ( | v:core::ffi::c_int | ) |
the maximum amount of times vertex distance can be updated in [1,255], 3 by default; the more the better obtuse triangles are handled Generated from method MR::SurfaceDistanceBuilder::setMaxVertUpdates.
Calls MR_SurfaceDistanceBuilder_setMaxVertUpdates().
| auto meshlib::SurfaceDistanceBuilder::take_distance_map | ( | ) | -> meshlib::Owned< meshlib::VertScalars > |
takes ownership over constructed distance map Generated from method MR::SurfaceDistanceBuilder::takeDistanceMap.
Calls MR_SurfaceDistanceBuilder_takeDistanceMap().