MeshLib Documentation
Loading...
Searching...
No Matches
MR::SurfaceDistanceBuilder Class Reference

this class is responsible for iterative construction of distance map along the surface More...

#include <MRSurfaceDistanceBuilder.h>

Public Member Functions

MRMESH_API SurfaceDistanceBuilder (const Mesh &mesh, const VertBitSet *region)
 
 SurfaceDistanceBuilder (const Mesh &mesh, const Vector3f &target, const VertBitSet *region)
 
MRMESH_API void addStartRegion (const VertBitSet &region, float startDistance)
 initiates distance construction from given vertices with known start distance in all of them (region vertices will NOT be returned by growOne)
 
MRMESH_API void addStartVertices (const HashMap< VertId, float > &startVertices)
 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)
 
MRMESH_API void addStart (const MeshTriPoint &start)
 initiates distance construction from triangle vertices surrounding given start point (they all will be returned by growOne)
 
MRMESH_API void setMaxVertUpdates (int v)
 
MRMESH_API VertId growOne ()
 processes one more candidate vertex, which is returned
 
VertScalars takeDistanceMap ()
 takes ownership over constructed distance map
 
bool done () const
 returns true if further growth is impossible
 
float doneDistance () const
 returns path length till the next candidate vertex or maximum float value if all vertices have been reached
 

Detailed Description

this class is responsible for iterative construction of distance map along the surface

Constructor & Destructor Documentation

◆ SurfaceDistanceBuilder() [1/2]

MRMESH_API MR::SurfaceDistanceBuilder::SurfaceDistanceBuilder ( const Mesh & mesh,
const VertBitSet * region )

◆ SurfaceDistanceBuilder() [2/2]

MR::SurfaceDistanceBuilder::SurfaceDistanceBuilder ( const Mesh & mesh,
const Vector3f & target,
const VertBitSet * region )
inline

Member Function Documentation

◆ addStart()

MRMESH_API void MR::SurfaceDistanceBuilder::addStart ( const MeshTriPoint & start)

initiates distance construction from triangle vertices surrounding given start point (they all will be returned by growOne)

◆ addStartRegion()

MRMESH_API void MR::SurfaceDistanceBuilder::addStartRegion ( const VertBitSet & region,
float startDistance )

initiates distance construction from given vertices with known start distance in all of them (region vertices will NOT be returned by growOne)

◆ addStartVertices()

MRMESH_API void MR::SurfaceDistanceBuilder::addStartVertices ( const HashMap< VertId, float > & startVertices)

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)

◆ done()

bool MR::SurfaceDistanceBuilder::done ( ) const
inline

returns true if further growth is impossible

◆ doneDistance()

float MR::SurfaceDistanceBuilder::doneDistance ( ) const
inline

returns path length till the next candidate vertex or maximum float value if all vertices have been reached

◆ growOne()

MRMESH_API VertId MR::SurfaceDistanceBuilder::growOne ( )

processes one more candidate vertex, which is returned

◆ setMaxVertUpdates()

MRMESH_API void MR::SurfaceDistanceBuilder::setMaxVertUpdates ( int v)

the maximum amount of times vertex distance can be updated in [1,255], 3 by default; the more the better obtuse triangles are handled

◆ takeDistanceMap()

VertScalars MR::SurfaceDistanceBuilder::takeDistanceMap ( )
inline

takes ownership over constructed distance map


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