MeshLib C++ Docs
Loading...
Searching...
No Matches
MRRegionBoundary.h File Reference
#include "MRMeshFwd.h"
#include "MRId.h"
#include "MRMeshTopology.h"

Go to the source code of this file.

Typedefs

typedef struct MREdgeLoops MREdgeLoops
 

Functions

MR_EXTERN_C_BEGIN MRMESHC_API MREdgeLoopmrTrackRightBoundaryLoop (const MRMeshTopology *topology, MREdgeId e0, const MRFaceBitSet *region)
 
MRMESHC_API const MREdgeLoop mrEdgeLoopsGet (const MREdgeLoops *loops, size_t index)
 
MRMESHC_API size_t mrEdgeLoopsSize (const MREdgeLoops *loops)
 
MRMESHC_API void mrEdgeLoopsFree (MREdgeLoops *loops)
 
MRMESHC_API MREdgeLoopsmrFindRightBoundary (const MRMeshTopology *topology, const MRFaceBitSet *region)
 
MRMESHC_API MRFaceBitSetmrGetIncidentFacesFromVerts (const MRMeshTopology *topology, const MRVertBitSet *region)
 composes the set of all faces incident to given vertices
 
MRMESHC_API MRFaceBitSetmrGetIncidentFacesFromEdges (const MRMeshTopology *topology, const MRUndirectedEdgeBitSet *region)
 composes the set of all faces incident to given edges
 
MRMESHC_API MRVertBitSetmrGetIncidentVertsFromFaces (const MRMeshTopology *topology, const MRFaceBitSet *faces)
 composes the set of all vertices incident to given faces
 
MRMESHC_API MRVertBitSetmrGetIncidentVertsFromEdges (const MRMeshTopology *topology, const MRUndirectedEdgeBitSet *edges)
 composes the set of all vertices incident to given edges
 
MRMESHC_API MRVertBitSetmrGetInnerVertsFromFaces (const MRMeshTopology *topology, const MRFaceBitSet *region)
 composes the set of all vertices not on the boundary of a hole and with all their adjacent faces in given set
 
MRMESHC_API MRVertBitSetmrGetInnerVertsFromEdges (const MRMeshTopology *topology, const MRUndirectedEdgeBitSet *edges)
 composes the set of all vertices with all their edges in given set
 
MRMESHC_API MRFaceBitSetmrGetInnerFacesFromVerts (const MRMeshTopology *topology, const MRVertBitSet *verts)
 composes the set of all faces with all their vertices in given set
 
MRMESHC_API MRUndirectedEdgeBitSetmrGetIncidentEdgesFromFaces (const MRMeshTopology *topology, const MRFaceBitSet *faces)
 composes the set of all undirected edges, having a face from given set from one of two sides
 
MRMESHC_API MRUndirectedEdgeBitSetmrGetIncidentEdgesFromEdges (const MRMeshTopology *topology, const MRUndirectedEdgeBitSet *edges)
 composes the set of all undirected edges, having at least one common vertex with an edge from given set
 
MRMESHC_API MRUndirectedEdgeBitSetmrGetInnerEdgesFromVerts (const MRMeshTopology *topology, const MRVertBitSet *verts)
 composes the set of all edges with all their vertices in given set
 
MRMESHC_API MRUndirectedEdgeBitSetmrGetInnerEdgesFromFaces (const MRMeshTopology *topology, const MRFaceBitSet *region)
 composes the set of all edges having both left and right in given region
 

Typedef Documentation

◆ MREdgeLoops

typedef struct MREdgeLoops MREdgeLoops

Function Documentation

◆ mrEdgeLoopsFree()

MRMESHC_API void mrEdgeLoopsFree ( MREdgeLoops * loops)

◆ mrEdgeLoopsGet()

MRMESHC_API const MREdgeLoop mrEdgeLoopsGet ( const MREdgeLoops * loops,
size_t index )

◆ mrEdgeLoopsSize()

MRMESHC_API size_t mrEdgeLoopsSize ( const MREdgeLoops * loops)

◆ mrFindRightBoundary()

MRMESHC_API MREdgeLoops * mrFindRightBoundary ( const MRMeshTopology * topology,
const MRFaceBitSet * region )

returns all region boundary loops; every loop has region faces on the right, and not-region faces or holes on the left

◆ mrGetIncidentEdgesFromEdges()

MRMESHC_API MRUndirectedEdgeBitSet * mrGetIncidentEdgesFromEdges ( const MRMeshTopology * topology,
const MRUndirectedEdgeBitSet * edges )

composes the set of all undirected edges, having at least one common vertex with an edge from given set

◆ mrGetIncidentEdgesFromFaces()

MRMESHC_API MRUndirectedEdgeBitSet * mrGetIncidentEdgesFromFaces ( const MRMeshTopology * topology,
const MRFaceBitSet * faces )

composes the set of all undirected edges, having a face from given set from one of two sides

◆ mrGetIncidentFacesFromEdges()

MRMESHC_API MRFaceBitSet * mrGetIncidentFacesFromEdges ( const MRMeshTopology * topology,
const MRUndirectedEdgeBitSet * region )

composes the set of all faces incident to given edges

◆ mrGetIncidentFacesFromVerts()

MRMESHC_API MRFaceBitSet * mrGetIncidentFacesFromVerts ( const MRMeshTopology * topology,
const MRVertBitSet * region )

composes the set of all faces incident to given vertices

◆ mrGetIncidentVertsFromEdges()

MRMESHC_API MRVertBitSet * mrGetIncidentVertsFromEdges ( const MRMeshTopology * topology,
const MRUndirectedEdgeBitSet * edges )

composes the set of all vertices incident to given edges

◆ mrGetIncidentVertsFromFaces()

MRMESHC_API MRVertBitSet * mrGetIncidentVertsFromFaces ( const MRMeshTopology * topology,
const MRFaceBitSet * faces )

composes the set of all vertices incident to given faces

◆ mrGetInnerEdgesFromFaces()

MRMESHC_API MRUndirectedEdgeBitSet * mrGetInnerEdgesFromFaces ( const MRMeshTopology * topology,
const MRFaceBitSet * region )

composes the set of all edges having both left and right in given region

◆ mrGetInnerEdgesFromVerts()

MRMESHC_API MRUndirectedEdgeBitSet * mrGetInnerEdgesFromVerts ( const MRMeshTopology * topology,
const MRVertBitSet * verts )

composes the set of all edges with all their vertices in given set

◆ mrGetInnerFacesFromVerts()

MRMESHC_API MRFaceBitSet * mrGetInnerFacesFromVerts ( const MRMeshTopology * topology,
const MRVertBitSet * verts )

composes the set of all faces with all their vertices in given set

◆ mrGetInnerVertsFromEdges()

MRMESHC_API MRVertBitSet * mrGetInnerVertsFromEdges ( const MRMeshTopology * topology,
const MRUndirectedEdgeBitSet * edges )

composes the set of all vertices with all their edges in given set

◆ mrGetInnerVertsFromFaces()

MRMESHC_API MRVertBitSet * mrGetInnerVertsFromFaces ( const MRMeshTopology * topology,
const MRFaceBitSet * region )

composes the set of all vertices not on the boundary of a hole and with all their adjacent faces in given set

◆ mrTrackRightBoundaryLoop()

MR_EXTERN_C_BEGIN MRMESHC_API MREdgeLoop * mrTrackRightBoundaryLoop ( const MRMeshTopology * topology,
MREdgeId e0,
const MRFaceBitSet * region )

returns closed loop of region boundary starting from given region boundary edge (region faces on the right, and not-region faces or holes on the left); if more than two boundary edges connect in one vertex, then the function makes the most abrupt turn to left