MeshLib
 
Loading...
Searching...
No Matches
MRMeshTopology.h File Reference
#include "MRMeshFwd.h"
#include "MRId.h"

Go to the source code of this file.

Functions

MR_EXTERN_C_BEGIN MRMESHC_API void mrMeshTopologyPack (MRMeshTopology *top)
 tightly packs all arrays eliminating lone edges and invalid faces and vertices
 
MRMESHC_API const MRVertBitSetmrMeshTopologyGetValidVerts (const MRMeshTopology *top)
 returns cached set of all valid vertices
 
MRMESHC_API const MRFaceBitSetmrMeshTopologyGetValidFaces (const MRMeshTopology *top)
 returns cached set of all valid faces
 
MRMESHC_API MRTriangulationmrMeshTopologyGetTriangulation (const MRMeshTopology *top)
 
MRMESHC_API const MRThreeVertIdsmrTriangulationData (const MRTriangulation *tris)
 gets read-only access to the vertex triples of the triangulation
 
MRMESHC_API size_t mrTriangulationSize (const MRTriangulation *tris)
 gets total count of the vertex triples of the triangulation
 
MRMESHC_API void mrTriangulationFree (MRTriangulation *tris)
 deallocates the Triangulation object
 
MRMESHC_API size_t mrMeshTopologyFaceSize (const MRMeshTopology *top)
 returns the number of face records including invalid ones
 
MRMESHC_API MREdgePathmrMeshTopologyFindHoleRepresentiveEdges (const MRMeshTopology *top)
 returns one edge with no valid left face for every boundary in the mesh
 
MRMESHC_API const MREdgeIdmrEdgePathData (const MREdgePath *ep)
 gets read-only access to the edges of the edge path
 
MRMESHC_API size_t mrEdgePathSize (const MREdgePath *ep)
 gets total count of the edges of the edge path
 
MRMESHC_API void mrEdgePathFree (MREdgePath *ep)
 deallocates the EdgePath object
 
MRMESHC_API int mrMeshTopologyFindNumHoles (const MRMeshTopology *top, MREdgeBitSet *holeRepresentativeEdges)
 

Function Documentation

◆ mrEdgePathData()

MRMESHC_API const MREdgeId * mrEdgePathData ( const MREdgePath * ep)

gets read-only access to the edges of the edge path

◆ mrEdgePathFree()

MRMESHC_API void mrEdgePathFree ( MREdgePath * ep)

deallocates the EdgePath object

◆ mrEdgePathSize()

MRMESHC_API size_t mrEdgePathSize ( const MREdgePath * ep)

gets total count of the edges of the edge path

◆ mrMeshTopologyFaceSize()

MRMESHC_API size_t mrMeshTopologyFaceSize ( const MRMeshTopology * top)

returns the number of face records including invalid ones

◆ mrMeshTopologyFindHoleRepresentiveEdges()

MRMESHC_API MREdgePath * mrMeshTopologyFindHoleRepresentiveEdges ( const MRMeshTopology * top)

returns one edge with no valid left face for every boundary in the mesh

◆ mrMeshTopologyFindNumHoles()

MRMESHC_API int mrMeshTopologyFindNumHoles ( const MRMeshTopology * top,
MREdgeBitSet * holeRepresentativeEdges )

returns the number of hole loops in the mesh;

Parameters
holeRepresentativeEdgesoptional output of the smallest edge id with no valid left face in every hole

◆ mrMeshTopologyGetTriangulation()

MRMESHC_API MRTriangulation * mrMeshTopologyGetTriangulation ( const MRMeshTopology * top)

returns three vertex ids for valid triangles (which can be accessed by FaceId), vertex ids for invalid triangles are undefined, and shall not be read

◆ mrMeshTopologyGetValidFaces()

MRMESHC_API const MRFaceBitSet * mrMeshTopologyGetValidFaces ( const MRMeshTopology * top)

returns cached set of all valid faces

◆ mrMeshTopologyGetValidVerts()

MRMESHC_API const MRVertBitSet * mrMeshTopologyGetValidVerts ( const MRMeshTopology * top)

returns cached set of all valid vertices

◆ mrMeshTopologyPack()

MR_EXTERN_C_BEGIN MRMESHC_API void mrMeshTopologyPack ( MRMeshTopology * top)

tightly packs all arrays eliminating lone edges and invalid faces and vertices

◆ mrTriangulationData()

MRMESHC_API const MRThreeVertIds * mrTriangulationData ( const MRTriangulation * tris)

gets read-only access to the vertex triples of the triangulation

◆ mrTriangulationFree()

MRMESHC_API void mrTriangulationFree ( MRTriangulation * tris)

deallocates the Triangulation object

◆ mrTriangulationSize()

MRMESHC_API size_t mrTriangulationSize ( const MRTriangulation * tris)

gets total count of the vertex triples of the triangulation