MeshLib Python Docs
Loading...
Searching...
No Matches
meshlib.mrmeshpy.MeshBuilder Class Reference

Classes

class  BuildSettings
 
class  equalVector3f
 
class  MeshPiece
 
class  Triangle
 
class  VertDuplication
 
class  VertexIdentifier
 
class  VertSpan
 

Static Public Member Functions

None addTriangles (MeshTopology res, Triangulation t, MeshBuilder.BuildSettings settings='MR::MeshBuilder::BuildSettings{}')
 
None addTriangles (MeshTopology res, std_vector_Id_VertTag vertTriples, FaceBitSet createdFaces=None)
 
int duplicateNonManifoldVertices (Triangulation t, FaceBitSet region=None, std_vector_MeshBuilder_VertDuplication dups=None)
 
MeshTopology fromDisjointMeshPieces (Triangulation t, VertId maxVertId, std_vector_MeshBuilder_MeshPiece pieces, MeshBuilder.BuildSettings settings='MR::MeshBuilder::BuildSettings{}')
 
MeshTopology fromFaceSoup (std_vector_Id_VertTag verts, Vector_MeshBuilder_VertSpan_FaceId faces, MeshBuilder.BuildSettings settings='MR::MeshBuilder::BuildSettings{}', func_bool_from_float progressCb='MR::ProgressCallback{}')
 
Mesh fromPointTriples (std_vector_std_array_Vector3_float_3ul posTriples)
 
MeshTopology fromTriangles (Triangulation t, MeshBuilder.BuildSettings settings='MR::MeshBuilder::BuildSettings{}', func_bool_from_float progressCb='MR::ProgressCallback{}')
 
MeshTopology fromTrianglesDuplicatingNonManifoldVertices (Triangulation t, std_vector_MeshBuilder_VertDuplication dups=None, MeshBuilder.BuildSettings settings='MR::MeshBuilder::BuildSettings{}')
 
int uniteCloseVertices (Mesh mesh, float closeDist, bool uniteOnlyBd=True, VertMap optionalVertOldToNew=None)
 

Detailed Description

This is a namespace.

Member Function Documentation

◆ addTriangles() [1/2]

None meshlib.mrmeshpy.MeshBuilder.addTriangles ( MeshTopology res,
std_vector_Id_VertTag vertTriples,
FaceBitSet createdFaces = None )
static
adds triangles in the existing topology, auto selecting face ids for them;
vertTriples on output contain the remaining triangles that could not be added into the topology right now, but may be added later when other triangles appear in the mesh

◆ addTriangles() [2/2]

None meshlib.mrmeshpy.MeshBuilder.addTriangles ( MeshTopology res,
Triangulation t,
MeshBuilder.BuildSettings settings = 'MR::MeshBuilder::BuildSettings{}' )
static
adds triangles in the existing topology, given face indecies must be free;
settings.region on output contain the remaining triangles that could not be added into the topology right now, but may be added later when other triangles appear in the mesh

◆ duplicateNonManifoldVertices()

int meshlib.mrmeshpy.MeshBuilder.duplicateNonManifoldVertices ( Triangulation t,
FaceBitSet region = None,
std_vector_MeshBuilder_VertDuplication dups = None )
static
resolve non-manifold vertices by creating duplicate vertices in the triangulation (which is modified)
return number of duplicated vertices

◆ fromDisjointMeshPieces()

MeshTopology meshlib.mrmeshpy.MeshBuilder.fromDisjointMeshPieces ( Triangulation t,
VertId maxVertId,
std_vector_MeshBuilder_MeshPiece pieces,
MeshBuilder.BuildSettings settings = 'MR::MeshBuilder::BuildSettings{}' )
static
construct mesh topology in parallel from given disjoint mesh pieces (which do not have any shared vertex)
and some additional triangles (in settings) that join the pieces

◆ fromFaceSoup()

MeshTopology meshlib.mrmeshpy.MeshBuilder.fromFaceSoup ( std_vector_Id_VertTag verts,
Vector_MeshBuilder_VertSpan_FaceId faces,
MeshBuilder.BuildSettings settings = 'MR::MeshBuilder::BuildSettings{}',
func_bool_from_float progressCb = 'MR::ProgressCallback{}' )
static
construct mesh topology from face soup, where each face can have arbitrary degree (not only triangles)

◆ fromPointTriples()

Mesh meshlib.mrmeshpy.MeshBuilder.fromPointTriples ( std_vector_std_array_Vector3_float_3ul posTriples)
static
construct mesh from point triples;
all coinciding points are given the same VertId in the result

◆ fromTriangles()

MeshTopology meshlib.mrmeshpy.MeshBuilder.fromTriangles ( Triangulation t,
MeshBuilder.BuildSettings settings = 'MR::MeshBuilder::BuildSettings{}',
func_bool_from_float progressCb = 'MR::ProgressCallback{}' )
static
construct mesh topology from a set of triangles with given ids;
if skippedTris is given then it receives all input triangles not added in the resulting topology

◆ fromTrianglesDuplicatingNonManifoldVertices()

MeshTopology meshlib.mrmeshpy.MeshBuilder.fromTrianglesDuplicatingNonManifoldVertices ( Triangulation t,
std_vector_MeshBuilder_VertDuplication dups = None,
MeshBuilder.BuildSettings settings = 'MR::MeshBuilder::BuildSettings{}' )
static
construct mesh topology from a set of triangles with given ids;
unlike simple fromTriangles() it tries to resolve non-manifold vertices by creating duplicate vertices;
triangulation is modified to introduce duplicates

◆ uniteCloseVertices()

int meshlib.mrmeshpy.MeshBuilder.uniteCloseVertices ( Mesh mesh,
float closeDist,
bool uniteOnlyBd = True,
VertMap optionalVertOldToNew = None )
static
the function finds groups of mesh vertices located closer to each other than \\param closeDist, and unites such vertices in one;
then the mesh is rebuilt from the remaining triangles
\\param optionalVertOldToNew is the mapping of vertices: before -> after
\\param uniteOnlyBd if true then only boundary vertices can be united, all internal vertices (even close ones) will remain
\\return the number of vertices united, 0 means no change in the mesh

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