#define MR_EXTERN_C_BEGIN
Definition MRMeshC/MRMeshFwd.h:26
struct MRVertBitSet MRVertBitSet
Definition MRMeshC/MRMeshFwd.h:38
#define MR_EXTERN_C_END
Definition MRMeshC/MRMeshFwd.h:27
struct MRMeshTopology MRMeshTopology
Definition MRMeshC/MRMeshFwd.h:42
struct MRFaceBitSet MRFaceBitSet
Definition MRMeshC/MRMeshFwd.h:37
#define MRMESHC_API
Definition MRMeshC/MRMeshFwd.h:19
struct MREdgeBitSet MREdgeBitSet
Definition MRMeshC/MRMeshFwd.h:35
MREdgePath MREdgeLoop
Definition MRMeshC/MRMeshTopology.h:28
MRMESHC_API const MRFaceBitSet * mrMeshTopologyGetValidFaces(const MRMeshTopology *top)
returns cached set of all valid faces
MRMESHC_API MRTriangulation * mrMeshTopologyGetTriangulation(const MRMeshTopology *top)
MRMESHC_API const MRVertBitSet * mrMeshTopologyGetValidVerts(const MRMeshTopology *top)
returns cached set of all valid vertices
MRMESHC_API void mrMeshTopologyGetLeftTriVerts(const MRMeshTopology *top, MREdgeId a, MRVertId *v0, MRVertId *v1, MRVertId *v2)
MR_EXTERN_C_BEGIN MRMESHC_API void mrMeshTopologyPack(MRMeshTopology *top)
tightly packs all arrays eliminating lone edges and invalid faces and vertices
MRMESHC_API int mrMeshTopologyFindNumHoles(const MRMeshTopology *top, MREdgeBitSet *holeRepresentativeEdges)
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
#define MR_VECTOR_LIKE_DECL(ClassName, Type)
Definition MRMeshC/MRVector.h:19
edge index
Definition MRMeshC/MRId.h:8
vertex index
Definition MRMeshC/MRId.h:14