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

Go to the source code of this file.

Typedefs

typedef MREdgePath MREdgeLoop
 

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 MRTriangulation * mrMeshTopologyGetTriangulation (const MRMeshTopology *top)
 
MRMESHC_API size_t mrMeshTopologyFaceSize (const MRMeshTopology *top)
 returns the number of face records including invalid ones
 
MRMESHC_API MREdgePath * mrMeshTopologyFindHoleRepresentiveEdges (const MRMeshTopology *top)
 returns one edge with no valid left face for every boundary in the mesh
 
MRMESHC_API void mrMeshTopologyGetLeftTriVerts (const MRMeshTopology *top, MREdgeId a, MRVertId *v0, MRVertId *v1, MRVertId *v2)
 
MRMESHC_API int mrMeshTopologyFindNumHoles (const MRMeshTopology *top, MREdgeBitSet *holeRepresentativeEdges)
 

Typedef Documentation

◆ MREdgeLoop

typedef MREdgePath MREdgeLoop

Function Documentation

◆ 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

◆ mrMeshTopologyGetLeftTriVerts()

MRMESHC_API void mrMeshTopologyGetLeftTriVerts ( const MRMeshTopology * top,
MREdgeId a,
MRVertId * v0,
MRVertId * v1,
MRVertId * v2 )

gets 3 vertices of given triangular face; the vertices are returned in counter-clockwise order if look from mesh outside

◆ 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