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

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

Detailed Description

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>.

Member Function Documentation

◆ add_start()

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().

◆ add_start_edges_and_points()

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().

◆ add_start_region()

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().

◆ add_start_vertices()

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().

◆ construct_2()

auto meshlib::SurfaceDistanceBuilder::construct_2 ( mesh:&meshlib::Mesh ,
region:Option<&meshlib::VertBitSet >  ) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder >
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.

◆ construct_3()

auto meshlib::SurfaceDistanceBuilder::construct_3 ( mesh:&meshlib::Mesh ,
target:&meshlib::Vector3f ,
region:Option<&meshlib::VertBitSet >  ) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder >
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.

◆ construct_from_another()

auto meshlib::SurfaceDistanceBuilder::construct_from_another ( _other:&meshlib::SurfaceDistanceBuilder ) -> meshlib::Owned< meshlib::SurfaceDistanceBuilder >
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.

◆ done()

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

returns true if further growth is impossible Generated from method MR::SurfaceDistanceBuilder::done.

Calls MR_SurfaceDistanceBuilder_done().

◆ done_distance()

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().

◆ grow_one()

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().

◆ set_max_vert_updates()

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().

◆ take_distance_map()

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().


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