MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshComponents.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MRId.h>
4#include <MRCMisc/common.h>
5#include <MRCMisc/exports.h>
6
7#include <stdbool.h>
8#include <stddef.h>
9
10#ifdef __cplusplus
11extern "C" {
12#endif
13
14typedef struct MR_BaseUnionFind_MR_FaceId MR_BaseUnionFind_MR_FaceId; // Defined in `#include <MRCMesh/MRUnionFind.h>`.
15typedef struct MR_EdgeBitSet MR_EdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
16typedef struct MR_Face2RegionMap MR_Face2RegionMap; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
19typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
20typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
21typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
22typedef struct MR_UnionFind_MR_UndirectedEdgeId MR_UnionFind_MR_UndirectedEdgeId; // Defined in `#include <MRCMesh/MRUnionFind.h>`.
23typedef struct MR_UnionFind_MR_VertId MR_UnionFind_MR_VertId; // Defined in `#include <MRCMesh/MRUnionFind.h>`.
24typedef struct MR_Vector_double_MR_RegionId MR_Vector_double_MR_RegionId; // Defined in `#include <MRCMesh/MRVector.h>`.
25typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
26typedef struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string; // Defined in `#include <MRCMisc/expected_MR_FaceBitSet_std_string.h>`.
27typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
28typedef struct MR_std_pair_MR_Face2RegionMap_int MR_std_pair_MR_Face2RegionMap_int; // Defined in `#include <MRCMisc/std_pair_MR_Face2RegionMap_int.h>`.
29typedef struct MR_std_pair_MR_FaceBitSet_int MR_std_pair_MR_FaceBitSet_int; // Defined in `#include <MRCMisc/std_pair_MR_FaceBitSet_int.h>`.
30typedef struct MR_std_pair_std_vector_MR_FaceBitSet_int MR_std_pair_std_vector_MR_FaceBitSet_int; // Defined in `#include <MRCMisc/std_pair_std_vector_MR_FaceBitSet_int.h>`.
31typedef struct MR_std_vector_MR_EdgeBitSet MR_std_vector_MR_EdgeBitSet; // Defined in `#include <MRCMisc/std_vector_MR_EdgeBitSet.h>`.
32typedef struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint; // Defined in `#include <MRCMisc/std_vector_MR_EdgePoint.h>`.
33typedef struct MR_std_vector_MR_FaceBitSet MR_std_vector_MR_FaceBitSet; // Defined in `#include <MRCMisc/std_vector_MR_FaceBitSet.h>`.
34typedef struct MR_std_vector_MR_FaceFace MR_std_vector_MR_FaceFace; // Defined in `#include <MRCMisc/std_vector_MR_FaceFace.h>`.
35typedef struct MR_std_vector_MR_UndirectedEdgeBitSet MR_std_vector_MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMisc/std_vector_MR_UndirectedEdgeBitSet.h>`.
36typedef struct MR_std_vector_MR_VertBitSet MR_std_vector_MR_VertBitSet; // Defined in `#include <MRCMisc/std_vector_MR_VertBitSet.h>`.
37typedef struct MR_std_vector_std_vector_MR_EdgePoint MR_std_vector_std_vector_MR_EdgePoint; // Defined in `#include <MRCMisc/std_vector_std_vector_MR_EdgePoint.h>`.
38
39
48
59
63
67
76
84
91
98
106MRC_API double MR_MeshComponents_getLargestComponentArea(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, MR_FaceBitSet *largestComponent, int *numSmallerComponents);
107
116MRC_API MR_FaceBitSet *MR_MeshComponents_getLargestComponent(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, const float *minArea, int *numSmallerComponents);
117
129MRC_API double MR_MeshComponents_getLargestComponentVolume(const MR_MeshPart *meshPart, const MR_MeshComponents_VolumeSelection *selection, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, MR_FaceBitSet *largestComponent, int *numSmallerComponents);
130
139
148
154
161
169
178
186
195
201
207
213
220
227
234
241
248
255
261
267
273
277
282
291
295
299
304
307
310
317
326
333
339
346
353
360
367
374
380
387
394
401
408
412
417
424
428
432
438
441
444
452
459
466MRC_API MR_FaceBitSet *MR_MeshComponents_getLargeByAreaSmoothComponents(const MR_MeshPart *meshPart, float minArea, float angleFromPlanar, MR_UndirectedEdgeBitSet *outBdEdgesBetweenLargeComps);
467
475
482
491
502
512
522
533
540
548MRC_API MR_std_pair_MR_FaceBitSet_int *MR_MeshComponents_getLargeByAreaRegions(const MR_MeshPart *meshPart, const MR_Face2RegionMap *regionMap, int numRegions, float minArea);
549
556
563
570
577
584
590
595
601
609
617
625
632
639
645
652
659
666
677
684
692
699
700#ifdef __cplusplus
701} // extern "C"
702#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:24
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:22
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint
Definition MRAlignContoursToMesh.h:23
struct MR_EdgeBitSet MR_EdgeBitSet
Definition MRBitSet.h:85
struct MR_MeshTopology MR_MeshTopology
Definition MRCameraPointsTriangulation.h:14
struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string
Definition MRContoursCut.h:20
struct MR_std_vector_MR_FaceBitSet MR_std_vector_MR_FaceBitSet
Definition MRContoursSeparation.h:11
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_std_vector_std_vector_MR_EdgePoint MR_std_vector_std_vector_MR_EdgePoint
Definition MRExtractIsolines.h:27
struct MR_Face2RegionMap MR_Face2RegionMap
std::vector<T>-like container that requires specific indexing type,
Definition MRMeshCollide.h:14
struct MR_std_vector_MR_FaceFace MR_std_vector_MR_FaceFace
Definition MRMeshCollide.h:22
MRC_API MR_std_pair_MR_FaceBitSet_int * MR_MeshComponents_getLargeByAreaRegions(const MR_MeshPart *meshPart, const MR_Face2RegionMap *regionMap, int numRegions, float minArea)
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_cb(MR_MeshComponents_ExpandToComponentsParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
struct MR_Vector_double_MR_RegionId MR_Vector_double_MR_RegionId
std::vector<T>-like container that requires specific indexing type,
Definition MRMeshComponents.h:24
MRC_API MR_BaseUnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFaces_3(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_DestroyArray(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
Destroys a heap-allocated array of MR_MeshComponents_LargeByAreaComponentsSettings....
MRC_API int ** MR_MeshComponents_ExpandToComponentsParams_GetMutable_optOutNumComponents(MR_MeshComponents_ExpandToComponentsParams *_this)
struct MR_MeshComponents_LargeByAreaComponentsSettings MR_MeshComponents_LargeByAreaComponentsSettings
Definition MRMeshComponents.h:66
MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVertsSeparatedByPaths(const MR_Mesh *mesh, const MR_std_vector_std_vector_MR_EdgePoint *paths)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_DefaultConstructArray(size_t num_elems)
MRC_API const MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_OffsetPtr(const MR_MeshComponents_ExpandToComponentsParams *ptr, ptrdiff_t i)
MRC_API const float * MR_MeshComponents_ExpandToComponentsParams_Get_coverRatio(const MR_MeshComponents_ExpandToComponentsParams *_this)
struct MR_BaseUnionFind_MR_FaceId MR_BaseUnionFind_MR_FaceId
base of union-find data structures: stores only the parent forest and the operations that depend on i...
Definition MRMeshComponents.h:14
MRC_API MR_std_vector_MR_EdgeBitSet * MR_MeshComponents_getAllComponentsEdges(const MR_Mesh *mesh, const MR_EdgeBitSet *edges)
MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVertsSeparatedByPath(const MR_Mesh *mesh, const MR_std_vector_MR_EdgePoint *path)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_ConstructFrom(float coverRatio, MR_MeshComponents_FaceIncidence incidence, const MR_UndirectedEdgeBitSet *isCompBd, int *optOutNumComponents, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MR_MeshComponents_VolumeSelection
the rule of selecting one component by its signed volume
Definition MRMeshComponents.h:51
@ MR_MeshComponents_VolumeSelection_Negative
Definition MRMeshComponents.h:57
@ MR_MeshComponents_VolumeSelection_Positive
the component with the smallest negative volume (its normals look inside)
Definition MRMeshComponents.h:55
@ MR_MeshComponents_VolumeSelection_Abs
the component with the largest absolute volume, whatever its sign is
Definition MRMeshComponents.h:53
MRC_API MR_UndirectedEdgeBitSet * MR_MeshComponents_getComponentsUndirectedEdges(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *seeds)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_Mesh_ref_MR_UndirectedEdgeBitSet(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *edges)
MRC_API MR_FaceBitSet * MR_MeshComponents_getComponents_4(const MR_MeshPart *meshPart, const MR_FaceBitSet *seeds, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API bool MR_MeshComponents_hasFullySelectedComponent_MR_MeshTopology(const MR_MeshTopology *topology, const MR_VertBitSet *selection)
MRC_API MR_std_pair_MR_Face2RegionMap_int * MR_MeshComponents_getFacePairRegionMap(const MR_Mesh *mesh, const MR_std_vector_MR_FaceFace *facePairs, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_isCompBd(MR_MeshComponents_ExpandToComponentsParams *_this, const MR_UndirectedEdgeBitSet *value)
MRC_API const MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_OffsetPtr(const MR_MeshComponents_LargeByAreaComponentsSettings *ptr, ptrdiff_t i)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_DefaultConstruct(void)
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getAllComponents_3(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API float * MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_minArea(MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_OffsetMutablePtr(MR_MeshComponents_LargeByAreaComponentsSettings *ptr, ptrdiff_t i)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVertsSeparatedByPaths(const MR_Mesh *mesh, const MR_std_vector_std_vector_MR_EdgePoint *paths, MR_VertBitSet *outPathVerts)
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_incidence(MR_MeshComponents_ExpandToComponentsParams *_this, MR_MeshComponents_FaceIncidence value)
MRC_API MR_std_vector_MR_UndirectedEdgeBitSet * MR_MeshComponents_getAllComponentsUndirectedEdges(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *edges)
MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByVolumeComponents(const MR_MeshPart *meshPart, float minVolume)
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFrom(int maxLargeComponents, int *numSmallerComponents, float minArea, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaSmoothComponents(const MR_MeshPart *meshPart, float minArea, float angleFromPlanar, MR_UndirectedEdgeBitSet *outBdEdgesBetweenLargeComps)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_OffsetMutablePtr(MR_MeshComponents_ExpandToComponentsParams *ptr, ptrdiff_t i)
struct MR_std_vector_MR_UndirectedEdgeBitSet MR_std_vector_MR_UndirectedEdgeBitSet
Definition MRMeshComponents.h:35
MRC_API size_t MR_MeshComponents_getNumComponents(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
struct MR_MeshComponents_ExpandToComponentsParams MR_MeshComponents_ExpandToComponentsParams
Definition MRMeshComponents.h:62
struct MR_std_pair_MR_Face2RegionMap_int MR_std_pair_MR_Face2RegionMap_int
Definition MRMeshComponents.h:28
MRC_API double MR_MeshComponents_getLargestComponentArea(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, MR_FaceBitSet *largestComponent, int *numSmallerComponents)
MRC_API const MR_MeshComponents_FaceIncidence * MR_MeshComponents_ExpandToComponentsParams_Get_incidence(const MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API MR_FaceBitSet * MR_MeshComponents_getComponents_5(const MR_MeshTopology *topology, const MR_FaceBitSet *seeds, const MR_FaceBitSet *region, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_numSmallerComponents(MR_MeshComponents_LargeByAreaComponentsSettings *_this, int *value)
struct MR_std_pair_MR_FaceBitSet_int MR_std_pair_MR_FaceBitSet_int
Definition MRMeshComponents.h:29
MRC_API MR_Vector_double_MR_RegionId * MR_MeshComponents_getRegionAreas(const MR_MeshPart *meshPart, const MR_Face2RegionMap *regionMap, int numRegions)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_minArea(MR_MeshComponents_LargeByAreaComponentsSettings *_this, float value)
MRC_API MR_VertBitSet * MR_MeshComponents_getComponentVerts(const MR_Mesh *mesh, MR_VertId id, const MR_VertBitSet *region)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Destroy(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
Destroys a heap-allocated instance of MR_MeshComponents_LargeByAreaComponentsSettings....
MRC_API float * MR_MeshComponents_ExpandToComponentsParams_GetMutable_coverRatio(MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API MR_VertBitSet * MR_MeshComponents_getComponentsVerts(const MR_Mesh *mesh, const MR_VertBitSet *seeds, const MR_VertBitSet *region)
struct MR_std_pair_std_vector_MR_FaceBitSet_int MR_std_pair_std_vector_MR_FaceBitSet_int
Definition MRMeshComponents.h:30
MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaComponents_4(const MR_MeshPart *meshPart, MR_BaseUnionFind_MR_FaceId *unionFind, float minArea, MR_UndirectedEdgeBitSet *outBdEdgesBetweenLargeComps)
MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getAllComponents_4_MR_Face2RegionMap(MR_Face2RegionMap *componentsMap, int componentsCount, const MR_FaceBitSet *region, int maxComponentCount)
MRC_API void MR_MeshComponents_excludeFullySelectedComponents(const MR_Mesh *mesh, MR_VertBitSet *selection)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshComponents_ExpandToComponentsParams *_other)
MRC_API MR_BaseUnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFacesPerEdge_3(const MR_MeshTopology *topology, const MR_FaceBitSet *region, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API int *const * MR_MeshComponents_LargeByAreaComponentsSettings_Get_numSmallerComponents(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVertsEx(const MR_Mesh *mesh, const MR_UndirectedEdgeBitSet *ignoreEdges)
MRC_API const MR_UndirectedEdgeBitSet *const * MR_MeshComponents_LargeByAreaComponentsSettings_Get_isCompBd(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_Mesh_ref_const_MR_VertBitSet_ptr(const MR_Mesh *mesh, const MR_VertBitSet *region)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_Mesh_ref_MR_EdgeBitSet(const MR_Mesh *mesh, const MR_EdgeBitSet *edges)
struct MR_UnionFind_MR_VertId MR_UnionFind_MR_VertId
Union-find data structure for representing disjoint sets of elements with few very quick operations: ...
Definition MRMeshComponents.h:23
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Destroy(const MR_MeshComponents_ExpandToComponentsParams *_this)
Destroys a heap-allocated instance of MR_MeshComponents_ExpandToComponentsParams. Does nothing if the...
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVertsSeparatedByPath(const MR_Mesh *mesh, const MR_std_vector_MR_EdgePoint *path, MR_VertBitSet *outPathVerts)
gets union-find structure for vertices, separating vertices by given path (either closed or from boun...
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_coverRatio(MR_MeshComponents_ExpandToComponentsParams *_this, float value)
struct MR_UnionFind_MR_UndirectedEdgeId MR_UnionFind_MR_UndirectedEdgeId
Union-find data structure for representing disjoint sets of elements with few very quick operations: ...
Definition MRMeshComponents.h:22
MRC_API MR_UnionFind_MR_UndirectedEdgeId * MR_MeshComponents_getUnionFindStructureUndirectedEdges(const MR_Mesh *mesh, const bool *allPointToRoots)
MRC_API MR_BaseUnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFaces_4(const MR_MeshTopology *topology, const MR_FaceBitSet *region, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API double MR_MeshComponents_getLargestComponentVolume(const MR_MeshPart *meshPart, const MR_MeshComponents_VolumeSelection *selection, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, MR_FaceBitSet *largestComponent, int *numSmallerComponents)
MRC_API const MR_UndirectedEdgeBitSet ** MR_MeshComponents_ExpandToComponentsParams_GetMutable_isCompBd(MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API const MR_UndirectedEdgeBitSet *const * MR_MeshComponents_ExpandToComponentsParams_Get_isCompBd(const MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_MeshComponents_expandToComponents(const MR_MeshPart *mp, const MR_FaceBitSet *seeds, const MR_MeshComponents_ExpandToComponentsParams *params)
MRC_API int *const * MR_MeshComponents_ExpandToComponentsParams_Get_optOutNumComponents(const MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API const int * MR_MeshComponents_LargeByAreaComponentsSettings_Get_maxLargeComponents(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API bool MR_MeshComponents_hasFullySelectedComponent_MR_Mesh(const MR_Mesh *mesh, const MR_VertBitSet *selection)
MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getNLargeByAreaComponents(const MR_MeshPart *meshPart, const MR_MeshComponents_LargeByAreaComponentsSettings *settings)
MRC_API MR_VertBitSet * MR_MeshComponents_getLargeComponentVerts(const MR_Mesh *mesh, int minVerts, const MR_VertBitSet *region)
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFromAnother(const MR_MeshComponents_LargeByAreaComponentsSettings *_other)
MRC_API void MR_MeshComponents_ExpandToComponentsParams_DestroyArray(const MR_MeshComponents_ExpandToComponentsParams *_this)
Destroys a heap-allocated array of MR_MeshComponents_ExpandToComponentsParams. Does nothing if the po...
MR_MeshComponents_FaceIncidence
Face incidence type.
Definition MRMeshComponents.h:42
@ MR_MeshComponents_FaceIncidence_PerVertex
Definition MRMeshComponents.h:46
@ MR_MeshComponents_FaceIncidence_PerEdge
face can have neighbor only via edge
Definition MRMeshComponents.h:44
MRC_API MR_MeshComponents_FaceIncidence * MR_MeshComponents_ExpandToComponentsParams_GetMutable_incidence(MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_DefaultConstruct(void)
MRC_API const MR_UndirectedEdgeBitSet ** MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_isCompBd(MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API MR_std_pair_std_vector_MR_FaceBitSet_int * MR_MeshComponents_getAllComponents_4_MR_MeshPart(const MR_MeshPart *meshPart, int maxComponentCount, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
struct MR_std_vector_MR_VertBitSet MR_std_vector_MR_VertBitSet
Definition MRMeshComponents.h:36
MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_AssignFromAnother(MR_MeshComponents_LargeByAreaComponentsSettings *_this, const MR_MeshComponents_LargeByAreaComponentsSettings *_other)
MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_MeshTopology_ref(const MR_MeshTopology *topology, const MR_VertBitSet *region)
MRC_API MR_FaceBitSet * MR_MeshComponents_getComponent(const MR_MeshPart *meshPart, MR_FaceId id, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API MR_std_pair_MR_Face2RegionMap_int * MR_MeshComponents_getAllComponentsMap(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API int * MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_maxLargeComponents(MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API const MR_std_function_bool_from_float * MR_MeshComponents_ExpandToComponentsParams_Get_cb(const MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_optOutNumComponents(MR_MeshComponents_ExpandToComponentsParams *_this, int *value)
MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVerts(const MR_Mesh *mesh, const MR_VertBitSet *region)
MRC_API const float * MR_MeshComponents_LargeByAreaComponentsSettings_Get_minArea(const MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API MR_FaceBitSet * MR_MeshComponents_getLargestComponent(const MR_MeshPart *meshPart, const MR_MeshComponents_FaceIncidence *incidence, const MR_UndirectedEdgeBitSet *isCompBd, const float *minArea, int *numSmallerComponents)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_isCompBd(MR_MeshComponents_LargeByAreaComponentsSettings *_this, const MR_UndirectedEdgeBitSet *value)
MRC_API MR_std_function_bool_from_float * MR_MeshComponents_ExpandToComponentsParams_GetMutable_cb(MR_MeshComponents_ExpandToComponentsParams *_this)
MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_AssignFromAnother(MR_MeshComponents_ExpandToComponentsParams *_this, MR_PassBy _other_pass_by, MR_MeshComponents_ExpandToComponentsParams *_other)
MRC_API MR_BaseUnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFacesPerEdge_2(const MR_MeshPart *meshPart, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaComponents_3(const MR_MeshPart *meshPart, float minArea, const MR_UndirectedEdgeBitSet *isCompBd)
MRC_API MR_VertBitSet * MR_MeshComponents_getLargestComponentVerts(const MR_Mesh *mesh, const MR_VertBitSet *region)
struct MR_std_vector_MR_EdgeBitSet MR_std_vector_MR_EdgeBitSet
Definition MRMeshComponents.h:31
MRC_API int ** MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_numSmallerComponents(MR_MeshComponents_LargeByAreaComponentsSettings *_this)
MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_maxLargeComponents(MR_MeshComponents_LargeByAreaComponentsSettings *_this, int value)
MR_PassBy
Definition common.h:13
#define MRC_API
Definition include/MRCMisc/exports.h:11
Definition MRId.h:31
Definition MRId.h:41