struct MR_std_vector_std_vector_MR_EdgeId MR_std_vector_std_vector_MR_EdgeId
Definition MR2DContoursTriangulation.h:19
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:16
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_phmap_flat_hash_map_MR_FaceId_MR_FaceId MR_phmap_flat_hash_map_MR_FaceId_MR_FaceId
Definition MRBitSet.h:43
struct MR_EdgeBitSet MR_EdgeBitSet
Definition MRBitSet.h:79
struct MR_VertMap MR_VertMap
Definition MRBitSet.h:41
struct MR_FaceMap MR_FaceMap
Definition MRBitSet.h:27
struct MR_WholeEdgeMap MR_WholeEdgeMap
Definition MRBooleanOperation.h:21
struct MR_PackMapping MR_PackMapping
Definition MRBuffer.h:374
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:20
struct MR_std_ostream MR_std_ostream
Definition MRCtm.h:22
struct MR_std_istream MR_std_istream
Definition MRCtm.h:21
struct MR_std_function_void_from_MR_EdgeId_MR_EdgeId MR_std_function_void_from_MR_EdgeId_MR_EdgeId
Definition MRFillHoleNicely.h:24
struct MR_GridSettings MR_GridSettings
Definition MRGridSettings.h:21
struct MR_Triangulation MR_Triangulation
Definition MRIdentifyVertices.h:13
MRC_API void MR_MeshTopology_deleteFaces(MR_MeshTopology *_this, const MR_FaceBitSet *fs, const MR_UndirectedEdgeBitSet *keepEdges)
MRC_API bool MR_MeshTopology_isTriVert(const MR_MeshTopology *_this, MR_FaceId f, MR_VertId v)
MRC_API bool MR_MeshTopology_isBdEdge(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_addPart_5(MR_MeshTopology *_this, const MR_MeshTopology *from, MR_FaceMap *outFmap, MR_VertMap *outVmap, MR_WholeEdgeMap *outEmap, const bool *rearrangeTriangles)
MRC_API int32_t MR_MeshTopology_getFaceDegree(const MR_MeshTopology *_this, MR_FaceId f)
MRC_API MR_uint64_t MR_MeshTopology_vertCapacity(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_hasEdge(const MR_MeshTopology *_this, MR_EdgeId e)
struct MR_std_vector_std_array_MR_VertId_3 MR_std_vector_std_array_MR_VertId_3
Definition MRMeshTopology.h:36
MRC_API MR_FaceId MR_MeshTopology_lastValidFace(const MR_MeshTopology *_this)
MRC_API MR_EdgeBitSet * MR_MeshTopology_findLeftBdEdges(const MR_MeshTopology *_this, const MR_FaceBitSet *region, const MR_EdgeBitSet *test)
MRC_API bool MR_MeshTopology_checkValidity(const MR_MeshTopology *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, const bool *allVerts)
MRC_API void MR_MeshTopology_preferEdges(MR_MeshTopology *_this, const MR_UndirectedEdgeBitSet *stableEdges)
MRC_API bool MR_equal_MR_MeshTopology(const MR_MeshTopology *_this, const MR_MeshTopology *b)
MRC_API MR_VertId MR_MeshTopology_org(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API MR_uint64_t MR_MeshTopology_edgeCapacity(const MR_MeshTopology *_this)
MRC_API MR_uint64_t MR_MeshTopology_heapBytes(const MR_MeshTopology *_this)
MRC_API MR_FaceId MR_MeshTopology_right(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API MR_EdgeId MR_MeshTopology_sharedEdge(const MR_MeshTopology *_this, MR_FaceId l, MR_FaceId r)
MRC_API MR_VertId MR_MeshTopology_lastValidVert(const MR_MeshTopology *_this)
MRC_API int32_t MR_MeshTopology_numValidFaces(const MR_MeshTopology *_this)
MRC_API MR_std_vector_MR_EdgeId * MR_MeshTopology_getLeftRing(const MR_MeshTopology *_this, MR_EdgeId e)
MRC_API void MR_MeshTopology_shrinkToFit(MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isInnerOrBdVertex(const MR_MeshTopology *_this, MR_VertId v, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_packMinMem(MR_MeshTopology *_this, const MR_PackMapping *map)
MRC_API void MR_MeshTopology_getTriEdges(const MR_MeshTopology *_this, MR_FaceId f, MR_EdgeId *e0, MR_EdgeId *e1, MR_EdgeId *e2)
MRC_API bool MR_MeshTopology_isLeftBdEdge(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API bool MR_MeshTopology_isLeftBdFace(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API MR_uint64_t MR_MeshTopology_undirectedEdgeCapacity(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_addPartByMask_6_const_MR_FaceBitSet_ptr(MR_MeshTopology *_this, const MR_MeshTopology *from, const MR_FaceBitSet *fromFaces, const bool *flipOrientation, const MR_std_vector_std_vector_MR_EdgeId *thisContours, const MR_std_vector_std_vector_MR_EdgeId *fromContours, const MR_PartMapping *map)
MRC_API MR_FaceBitSet * MR_MeshTopology_findBdFaces(const MR_MeshTopology *_this, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_flip_MR_VertBitSet(const MR_MeshTopology *_this, MR_VertBitSet *vs)
MRC_API void MR_MeshTopology_excludeLoneEdges(const MR_MeshTopology *_this, MR_UndirectedEdgeBitSet *edges)
MRC_API MR_FaceBitSet * MR_MeshTopology_getPathRightFaces(const MR_MeshTopology *_this, const MR_std_vector_MR_EdgeId *path)
MRC_API void MR_MeshTopology_deleteFace(MR_MeshTopology *_this, MR_FaceId f, const MR_UndirectedEdgeBitSet *keepEdges)
MRC_API bool MR_MeshTopology_computeValidsFromEdges(MR_MeshTopology *_this, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_MeshTopology_edgeReserve(MR_MeshTopology *_this, MR_uint64_t newCapacity)
MRC_API void MR_MeshTopology_faceResize(MR_MeshTopology *_this, MR_uint64_t newSize)
MRC_API MR_MeshTopology * MR_MeshTopology_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshTopology *_other)
MRC_API MR_EdgeId MR_MeshTopology_lastNotLoneEdge(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isBdVertex(const MR_MeshTopology *_this, MR_VertId v, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_addPartByMask_3_MR_FaceBitSet(MR_MeshTopology *_this, const MR_MeshTopology *from, const MR_FaceBitSet *fromFaces, const MR_PartMapping *map)
MRC_API int32_t MR_MeshTopology_getOrgDegree(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API MR_EdgeId MR_MeshTopology_bdEdgeSameLeft(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API const MR_FaceBitSet * MR_MeshTopology_getFaceIds(const MR_MeshTopology *_this, const MR_FaceBitSet *region)
MRC_API MR_EdgeId MR_MeshTopology_bdEdgeSameOrigin(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API MR_FaceId MR_MeshTopology_left(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API MR_std_vector_MR_EdgeId * MR_MeshTopology_findHoleRepresentiveEdges(const MR_MeshTopology *_this, const MR_FaceBitSet *region)
MRC_API MR_FaceBitSet * MR_MeshTopology_getPathLeftFaces(const MR_MeshTopology *_this, const MR_std_vector_MR_EdgeId *path)
MRC_API void MR_MeshTopology_vertReserve(MR_MeshTopology *_this, MR_uint64_t newCapacity)
MRC_API MR_VertBitSet * MR_MeshTopology_findBdVerts(const MR_MeshTopology *_this, const MR_FaceBitSet *region, const MR_VertBitSet *test)
MRC_API bool MR_MeshTopology_isLeftInRegion(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_addPartByMask_3_const_MR_FaceBitSet_ptr(MR_MeshTopology *_this, const MR_MeshTopology *from, const MR_FaceBitSet *fromFaces, const MR_PartMapping *map)
MRC_API bool MR_MeshTopology_updatingValids(const MR_MeshTopology *_this)
MRC_API MR_UndirectedEdgeId MR_MeshTopology_lastNotLoneUndirectedEdge(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isInnerEdge(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API const MR_VertBitSet * MR_MeshTopology_getVertIds(const MR_MeshTopology *_this, const MR_VertBitSet *region)
MRC_API MR_EdgeId MR_MeshTopology_bdEdgeWithLeft(const MR_MeshTopology *_this, MR_FaceId f, const MR_FaceBitSet *region)
struct MR_Vector_MR_EdgeId_MR_VertId MR_Vector_MR_EdgeId_MR_VertId
Definition MRMeshTopology.h:25
MRC_API MR_VertId MR_MeshTopology_addVertId(MR_MeshTopology *_this)
MRC_API MR_uint64_t MR_MeshTopology_undirectedEdgeSize(const MR_MeshTopology *_this)
MRC_API int32_t MR_MeshTopology_numValidVerts(const MR_MeshTopology *_this)
MRC_API MR_FaceId MR_MeshTopology_sharedFace(const MR_MeshTopology *_this, MR_EdgeId a, MR_EdgeId b)
MRC_API MR_FaceId MR_MeshTopology_addFaceId(MR_MeshTopology *_this)
MRC_API MR_EdgeId MR_MeshTopology_prev(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API MR_MeshTopology * MR_MeshTopology_DefaultConstructArray(size_t num_elems)
MRC_API MR_EdgeId MR_MeshTopology_bdEdgeWithOrigin(const MR_MeshTopology *_this, MR_VertId v, const MR_FaceBitSet *region)
MRC_API MR_EdgeId MR_MeshTopology_prevLeftBd(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API MR_Triangulation * MR_MeshTopology_getTriangulation(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_stopUpdatingValids(MR_MeshTopology *_this)
MRC_API const MR_VertBitSet * MR_MeshTopology_getValidVerts(const MR_MeshTopology *_this)
MRC_API MR_uint64_t MR_MeshTopology_vertSize(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_flipEdge(MR_MeshTopology *_this, MR_EdgeId e)
MRC_API void MR_MeshTopology_addPackedPart(MR_MeshTopology *_this, const MR_MeshTopology *from, MR_EdgeId toEdgeId, const MR_FaceMap *fmap, const MR_VertMap *vmap)
MRC_API void MR_MeshTopology_DestroyArray(const MR_MeshTopology *_this)
Destroys a heap-allocated array of MR_MeshTopology. Does nothing if the pointer is null.
MRC_API MR_EdgeId MR_MeshTopology_collapseEdge(MR_MeshTopology *_this, MR_EdgeId e, const MR_std_function_void_from_MR_EdgeId_MR_EdgeId *onEdgeDel)
MRC_API void MR_MeshTopology_flip_MR_FaceBitSet(const MR_MeshTopology *_this, MR_FaceBitSet *fs)
MRC_API MR_EdgeId MR_MeshTopology_makeEdge(MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_setOrg(MR_MeshTopology *_this, MR_EdgeId a, MR_VertId v)
MRC_API MR_expected_void_std_string * MR_MeshTopology_read(MR_MeshTopology *_this, MR_std_istream *s, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API MR_MeshTopology * MR_MeshTopology_AssignFromAnother(MR_MeshTopology *_this, MR_PassBy _other_pass_by, MR_MeshTopology *_other)
MRC_API MR_std_vector_std_array_MR_VertId_3 * MR_MeshTopology_getAllTriVerts(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_setLeft(MR_MeshTopology *_this, MR_EdgeId a, MR_FaceId f)
MRC_API MR_UndirectedEdgeBitSet * MR_MeshTopology_findNotLoneUndirectedEdges(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isInnerOrBdEdge(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API void MR_loadMeshDll(void)
Generated from function MR::loadMeshDll.
MRC_API void MR_MeshTopology_splice(MR_MeshTopology *_this, MR_EdgeId a, MR_EdgeId b)
MRC_API bool MR_MeshTopology_buildGridMesh(MR_MeshTopology *_this, const MR_GridSettings *settings, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Vector_MR_EdgeId_MR_FaceId * MR_MeshTopology_edgePerFace(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isBdFace(const MR_MeshTopology *_this, MR_FaceId f, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_addPart_3(MR_MeshTopology *_this, const MR_MeshTopology *from, const MR_PartMapping *map, const bool *rearrangeTriangles)
MRC_API MR_EdgeId MR_MeshTopology_next(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API MR_VertBitSet * MR_MeshTopology_getPathVertices(const MR_MeshTopology *_this, const MR_std_vector_MR_EdgeId *path)
MRC_API bool MR_MeshTopology_fromSameOriginRing(const MR_MeshTopology *_this, MR_EdgeId a, MR_EdgeId b)
MRC_API void MR_MeshTopology_getLeftTriEdges(const MR_MeshTopology *_this, MR_EdgeId e0, MR_EdgeId *e1, MR_EdgeId *e2)
MRC_API MR_EdgeId MR_MeshTopology_splitEdge(MR_MeshTopology *_this, MR_EdgeId e, MR_FaceBitSet *region, MR_phmap_flat_hash_map_MR_FaceId_MR_FaceId *new2Old)
MRC_API const MR_FaceBitSet * MR_MeshTopology_getValidFaces(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_vertResize(MR_MeshTopology *_this, MR_uint64_t newSize)
MRC_API MR_EdgeId MR_MeshTopology_sharedVertInOrg_MR_FaceId(const MR_MeshTopology *_this, MR_FaceId l, MR_FaceId r)
MRC_API int32_t MR_MeshTopology_findNumHoles(const MR_MeshTopology *_this, MR_EdgeBitSet *holeRepresentativeEdges)
MRC_API void MR_MeshTopology_faceReserve(MR_MeshTopology *_this, MR_uint64_t newCapacity)
MRC_API void MR_MeshTopology_getLeftTriVerts_4(const MR_MeshTopology *_this, MR_EdgeId a, MR_VertId *v0, MR_VertId *v1, MR_VertId *v2)
MRC_API MR_VertId MR_MeshTopology_splitFace(MR_MeshTopology *_this, MR_FaceId f, MR_FaceBitSet *region, MR_phmap_flat_hash_map_MR_FaceId_MR_FaceId *new2Old)
MRC_API void MR_MeshTopology_addPartByMask_6_MR_FaceBitSet(MR_MeshTopology *_this, const MR_MeshTopology *from, const MR_FaceBitSet *fromFaces, const bool *flipOrientation, const MR_std_vector_std_vector_MR_EdgeId *thisContours, const MR_std_vector_std_vector_MR_EdgeId *fromContours, const MR_PartMapping *map)
MRC_API void MR_MeshTopology_getLeftTriVerts_2(const MR_MeshTopology *_this, MR_EdgeId a, MR_std_array_MR_VertId_3 *v)
MRC_API MR_EdgeId MR_MeshTopology_edgeWithOrg(const MR_MeshTopology *_this, MR_VertId a)
MRC_API bool MR_MeshTopology_isBdVertexInOrg(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API void MR_MeshTopology_rotateTriangles(MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_isLeftTri(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API void MR_MeshTopology_getTriVerts_2(const MR_MeshTopology *_this, MR_FaceId f, MR_std_array_MR_VertId_3 *v)
MRC_API MR_std_array_MR_VertId_3 MR_MeshTopology_getTriVerts_1(const MR_MeshTopology *_this, MR_FaceId f)
MRC_API MR_MeshTopology * MR_MeshTopology_DefaultConstruct(void)
MRC_API MR_EdgeId MR_MeshTopology_nextLeftBd(const MR_MeshTopology *_this, MR_EdgeId e, const MR_FaceBitSet *region)
MRC_API MR_MeshTopology * MR_MeshTopology_OffsetMutablePtr(MR_MeshTopology *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_MeshTopology_resizeBeforeParallelAdd(MR_MeshTopology *_this, MR_uint64_t edgeSize, MR_uint64_t vertSize, MR_uint64_t faceSize)
MRC_API void MR_MeshTopology_write(const MR_MeshTopology *_this, MR_std_ostream *s)
MRC_API bool MR_MeshTopology_isClosed(const MR_MeshTopology *_this, const MR_FaceBitSet *region)
struct MR_Vector_MR_EdgeId_MR_FaceId MR_Vector_MR_EdgeId_MR_FaceId
Definition MRMeshTopology.h:24
MRC_API MR_VertId MR_MeshTopology_dest(const MR_MeshTopology *_this, MR_EdgeId he)
MRC_API bool MR_MeshTopology_isLoneEdge(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API MR_uint64_t MR_MeshTopology_computeNotLoneUndirectedEdges(const MR_MeshTopology *_this)
MRC_API MR_std_array_MR_VertId_3 MR_MeshTopology_getLeftTriVerts_1(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API void MR_MeshTopology_getTriVerts_4(const MR_MeshTopology *_this, MR_FaceId f, MR_VertId *v0, MR_VertId *v1, MR_VertId *v2)
MRC_API MR_EdgeId MR_MeshTopology_findEdge(const MR_MeshTopology *_this, MR_VertId o, MR_VertId d)
MRC_API void MR_MeshTopology_faceResizeWithReserve(MR_MeshTopology *_this, MR_uint64_t newSize)
MRC_API MR_uint64_t MR_MeshTopology_edgeSize(const MR_MeshTopology *_this)
MRC_API void MR_MeshTopology_vertResizeWithReserve(MR_MeshTopology *_this, MR_uint64_t newSize)
MRC_API MR_EdgeId MR_MeshTopology_sharedVertInOrg_MR_EdgeId(const MR_MeshTopology *_this, MR_EdgeId a, MR_EdgeId b)
MRC_API bool MR_MeshTopology_hasFace(const MR_MeshTopology *_this, MR_FaceId a)
MRC_API const MR_Vector_MR_EdgeId_MR_VertId * MR_MeshTopology_edgePerVertex(const MR_MeshTopology *_this)
MRC_API bool MR_MeshTopology_hasVert(const MR_MeshTopology *_this, MR_VertId a)
MRC_API MR_uint64_t MR_MeshTopology_faceSize(const MR_MeshTopology *_this)
MRC_API MR_uint64_t MR_MeshTopology_faceCapacity(const MR_MeshTopology *_this)
MRC_API int32_t MR_MeshTopology_getLeftDegree(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API MR_EdgeId MR_MeshTopology_edgeWithLeft(const MR_MeshTopology *_this, MR_FaceId a)
MRC_API bool MR_MeshTopology_isLeftQuad(const MR_MeshTopology *_this, MR_EdgeId a)
MRC_API int32_t MR_MeshTopology_getVertDegree(const MR_MeshTopology *_this, MR_VertId v)
MRC_API void MR_MeshTopology_Destroy(const MR_MeshTopology *_this)
Destroys a heap-allocated instance of MR_MeshTopology. Does nothing if the pointer is null.
MRC_API const MR_MeshTopology * MR_MeshTopology_OffsetPtr(const MR_MeshTopology *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_MeshTopology_pack_4(MR_MeshTopology *_this, MR_FaceMap *outFmap, MR_VertMap *outVmap, MR_WholeEdgeMap *outEmap, const bool *rearrangeTriangles)
MRC_API void MR_MeshTopology_flipOrientation(MR_MeshTopology *_this, const MR_UndirectedEdgeBitSet *fullComponents)
MRC_API MR_std_vector_std_vector_MR_EdgeId * MR_MeshTopology_getLeftRings(const MR_MeshTopology *_this, const MR_std_vector_MR_EdgeId *es)
MRC_API bool MR_MeshTopology_fromSameLeftRing(const MR_MeshTopology *_this, MR_EdgeId a, MR_EdgeId b)
MRC_API void MR_MeshTopology_pack_1(MR_MeshTopology *_this, const MR_PackMapping *map)
struct MR_PartMapping MR_PartMapping
Definition MRMesh.h:31
MR_PassBy
Definition common.h:19
uint64_t MR_uint64_t
Definition common.h:14
#define MRC_API
Definition exports.h:11
A fixed-size array of MR::VertId of size 3.
Definition std_array_MR_VertId_3.h:12