#include <MRCMesh/MRId.h>#include <MRCMisc/common.h>#include <MRCMisc/exports.h>#include <stdbool.h>#include <stddef.h>Go to the source code of this file.
Enumerations | |
| enum | MR_MeshComponents_FaceIncidence { MR_MeshComponents_FaceIncidence_PerEdge = 0 , MR_MeshComponents_FaceIncidence_PerVertex = 1 } |
| Face incidence type. More... | |
| typedef struct MR_EdgeBitSet MR_EdgeBitSet |
| typedef struct MR_Face2RegionMap MR_Face2RegionMap |
| typedef struct MR_FaceBitSet MR_FaceBitSet |
| typedef struct MR_MeshComponents_ExpandToComponentsParams MR_MeshComponents_ExpandToComponentsParams |
Generated from class MR::MeshComponents::ExpandToComponentsParams.
Face incidence type.
| typedef struct MR_MeshComponents_LargeByAreaComponentsSettings MR_MeshComponents_LargeByAreaComponentsSettings |
Generated from class MR::MeshComponents::LargeByAreaComponentsSettings.
| typedef struct MR_MeshPart MR_MeshPart |
| typedef struct MR_MeshTopology MR_MeshTopology |
| typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float |
| typedef struct MR_std_pair_MR_FaceBitSet_int MR_std_pair_MR_FaceBitSet_int |
| typedef struct MR_std_vector_MR_EdgeBitSet MR_std_vector_MR_EdgeBitSet |
| typedef struct MR_std_vector_MR_EdgePoint MR_std_vector_MR_EdgePoint |
| typedef struct MR_std_vector_MR_FaceBitSet MR_std_vector_MR_FaceBitSet |
| typedef struct MR_std_vector_MR_VertBitSet MR_std_vector_MR_VertBitSet |
| typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet |
| typedef struct MR_UnionFind_MR_FaceId MR_UnionFind_MR_FaceId |
| typedef struct MR_UnionFind_MR_UndirectedEdgeId MR_UnionFind_MR_UndirectedEdgeId |
| typedef struct MR_UnionFind_MR_VertId MR_UnionFind_MR_VertId |
| typedef struct MR_Vector_double_MR_RegionId MR_Vector_double_MR_RegionId |
| typedef struct MR_VertBitSet MR_VertBitSet |
| MRC_API void MR_MeshComponents_excludeFullySelectedComponents | ( | const MR_Mesh * | mesh, |
| MR_VertBitSet * | selection ) |
if all vertices of a mesh connected component are present in selection, excludes these vertices Generated from function MR::MeshComponents::excludeFullySelectedComponents. Parameter mesh can not be null. It is a single object. Parameter selection can not be null. It is a single object.
| MRC_API MR_expected_MR_FaceBitSet_std_string * MR_MeshComponents_expandToComponents | ( | const MR_MeshPart * | mp, |
| const MR_FaceBitSet * | seeds, | ||
| const MR_MeshComponents_ExpandToComponentsParams * | params ) |
expands given seeds to whole components Generated from function MR::MeshComponents::expandToComponents. Parameter mp can not be null. It is a single object. Parameter seeds can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_FaceBitSet_std_string_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_AssignFromAnother | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| MR_PassBy | _other_pass_by, | ||
| MR_MeshComponents_ExpandToComponentsParams * | _other ) |
Generated from a method of class MR::MeshComponents::ExpandToComponentsParams named operator=. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| 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 ) |
Constructs MR::MeshComponents::ExpandToComponentsParams elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_ExpandToComponentsParams_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
| MR_MeshComponents_ExpandToComponentsParams * | _other ) |
Generated from a constructor of class MR::MeshComponents::ExpandToComponentsParams. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_ExpandToComponentsParams_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_ExpandToComponentsParams_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_MeshComponents_ExpandToComponentsParams_DestroyArray(). Use MR_MeshComponents_ExpandToComponentsParams_OffsetMutablePtr() and MR_MeshComponents_ExpandToComponentsParams_OffsetPtr() to access the array elements.
| 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 pointer is null.
| 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 pointer is null.
| MRC_API const MR_std_function_bool_from_float * MR_MeshComponents_ExpandToComponentsParams_Get_cb | ( | const MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
Returns a pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const float * MR_MeshComponents_ExpandToComponentsParams_Get_coverRatio | ( | const MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
expands only if seeds cover at least this ratio of the component area <=0 - expands all seeds
1 - none
Returns a pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named coverRatio. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const MR_MeshComponents_FaceIncidence * MR_MeshComponents_ExpandToComponentsParams_Get_incidence | ( | const MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
Returns a pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named incidence. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const MR_UndirectedEdgeBitSet *const * MR_MeshComponents_ExpandToComponentsParams_Get_isCompBd | ( | const MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
optional predicate of boundaries between components Returns a pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named isCompBd. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int *const * MR_MeshComponents_ExpandToComponentsParams_Get_optOutNumComponents | ( | const MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
optional output number of components Returns a pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named optOutNumComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_std_function_bool_from_float * MR_MeshComponents_ExpandToComponentsParams_GetMutable_cb | ( | MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
Returns a mutable pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_MeshComponents_ExpandToComponentsParams_GetMutable_coverRatio | ( | MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
expands only if seeds cover at least this ratio of the component area <=0 - expands all seeds
1 - none
Returns a mutable pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named coverRatio. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_MeshComponents_FaceIncidence * MR_MeshComponents_ExpandToComponentsParams_GetMutable_incidence | ( | MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
Returns a mutable pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named incidence. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const MR_UndirectedEdgeBitSet ** MR_MeshComponents_ExpandToComponentsParams_GetMutable_isCompBd | ( | MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
optional predicate of boundaries between components Returns a mutable pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named isCompBd. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int ** MR_MeshComponents_ExpandToComponentsParams_GetMutable_optOutNumComponents | ( | MR_MeshComponents_ExpandToComponentsParams * | _this | ) |
optional output number of components Returns a mutable pointer to a member variable of class MR::MeshComponents::ExpandToComponentsParams named optOutNumComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_OffsetMutablePtr | ( | MR_MeshComponents_ExpandToComponentsParams * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API const MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_OffsetPtr | ( | const MR_MeshComponents_ExpandToComponentsParams * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_cb | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| MR_PassBy | value_pass_by, | ||
| MR_std_function_bool_from_float * | value ) |
Modifies a member variable of class MR::MeshComponents::ExpandToComponentsParams named cb. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_coverRatio | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| float | value ) |
expands only if seeds cover at least this ratio of the component area <=0 - expands all seeds
1 - none
Modifies a member variable of class MR::MeshComponents::ExpandToComponentsParams named coverRatio. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_incidence | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| MR_MeshComponents_FaceIncidence | value ) |
Modifies a member variable of class MR::MeshComponents::ExpandToComponentsParams named incidence. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_isCompBd | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| const MR_UndirectedEdgeBitSet * | value ) |
optional predicate of boundaries between components Modifies a member variable of class MR::MeshComponents::ExpandToComponentsParams named isCompBd. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_ExpandToComponentsParams_Set_optOutNumComponents | ( | MR_MeshComponents_ExpandToComponentsParams * | _this, |
| int * | value ) |
optional output number of components Modifies a member variable of class MR::MeshComponents::ExpandToComponentsParams named optOutNumComponents. Parameter _this can not be null. It is a single object.
| MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getAllComponents_3 | ( | const MR_MeshPart * | meshPart, |
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
gets all connected components of mesh part
MR::MeshComponents::getAllComponents. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_FaceBitSet_Destroy() to free it when you're done using it. | MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getAllComponents_4_MR_Face2RegionMap | ( | MR_Face2RegionMap * | componentsMap, |
| int | componentsCount, | ||
| const MR_FaceBitSet * | region, | ||
| int | maxComponentCount ) |
gets all connected components from components map ( FaceId => RegionId ) \detail if components number more than the maxComponentCount, they will be combined into groups of the same size (this similarly changes componentsMap)
| maxComponentCount | should be more then 1 |
MR::MeshComponents::getAllComponents. Parameter componentsMap can not be null. It is a single object. Parameter region can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_FaceBitSet_Destroy() to free it when you're done using it. | 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 ) |
gets all connected components of mesh part \detail if components number more than the maxComponentCount, they will be combined into groups of the same size
| maxComponentCount | should be more then 1 |
MR::MeshComponents::getAllComponents. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_pair_std_vector_MR_FaceBitSet_int_Destroy() to free it when you're done using it. | MRC_API MR_std_vector_MR_EdgeBitSet * MR_MeshComponents_getAllComponentsEdges | ( | const MR_Mesh * | mesh, |
| const MR_EdgeBitSet * | edges ) |
subdivides given edges on connected components Generated from function MR::MeshComponents::getAllComponentsEdges. Parameter mesh can not be null. It is a single object. Parameter edges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_EdgeBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_pair_MR_Face2RegionMap_int * MR_MeshComponents_getAllComponentsMap | ( | const MR_MeshPart * | meshPart, |
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
gets all connected components of mesh part as
MR::MeshComponents::getAllComponentsMap. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_pair_MR_Face2RegionMap_int_Destroy() to free it when you're done using it. | MRC_API MR_std_vector_MR_UndirectedEdgeBitSet * MR_MeshComponents_getAllComponentsUndirectedEdges | ( | const MR_Mesh * | mesh, |
| const MR_UndirectedEdgeBitSet * | edges ) |
subdivides given edges on connected components Generated from function MR::MeshComponents::getAllComponentsUndirectedEdges. Parameter mesh can not be null. It is a single object. Parameter edges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVerts | ( | const MR_Mesh * | mesh, |
| const MR_VertBitSet * | region ) |
gets all connected components of mesh part Generated from function MR::MeshComponents::getAllComponentsVerts. Parameter mesh can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVertsSeparatedByPath | ( | const MR_Mesh * | mesh, |
| const MR_std_vector_MR_EdgePoint * | path ) |
gets all connected components, separating vertices by given path (either closed or from boundary to boundary) Generated from function MR::MeshComponents::getAllComponentsVertsSeparatedByPath. Parameter mesh can not be null. It is a single object. Parameter path can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_vector_MR_VertBitSet * MR_MeshComponents_getAllComponentsVertsSeparatedByPaths | ( | const MR_Mesh * | mesh, |
| const MR_std_vector_std_vector_MR_EdgePoint * | paths ) |
gets all connected components, separating vertices by given paths (either closed or from boundary to boundary) Generated from function MR::MeshComponents::getAllComponentsVertsSeparatedByPaths. Parameter mesh can not be null. It is a single object. Parameter paths can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_FaceBitSet * MR_MeshComponents_getComponent | ( | const MR_MeshPart * | meshPart, |
| MR_FaceId | id, | ||
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
returns one connected component containing given face, not effective to call more than once, if several components are needed use getAllComponents Generated from function MR::MeshComponents::getComponent. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_FaceBitSet * MR_MeshComponents_getComponents | ( | const MR_MeshPart * | meshPart, |
| const MR_FaceBitSet * | seeds, | ||
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
returns union of connected components, each of which contains at least one seed face Generated from function MR::MeshComponents::getComponents. Parameter meshPart can not be null. It is a single object. Parameter seeds can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_UndirectedEdgeBitSet * MR_MeshComponents_getComponentsUndirectedEdges | ( | const MR_Mesh * | mesh, |
| const MR_UndirectedEdgeBitSet * | seeds ) |
returns union of connected components, each of which contains at least one seed edge Generated from function MR::MeshComponents::getComponentsUndirectedEdges. Parameter mesh can not be null. It is a single object. Parameter seeds can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UndirectedEdgeBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_VertBitSet * MR_MeshComponents_getComponentsVerts | ( | const MR_Mesh * | mesh, |
| const MR_VertBitSet * | seeds, | ||
| const MR_VertBitSet * | region ) |
returns union of connected components, each of which contains at least one seed vert Generated from function MR::MeshComponents::getComponentsVerts. Parameter mesh can not be null. It is a single object. Parameter seeds can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_VertBitSet * MR_MeshComponents_getComponentVerts | ( | const MR_Mesh * | mesh, |
| MR_VertId | id, | ||
| const MR_VertBitSet * | region ) |
returns one connected component containing given vertex, not effective to call more than once, if several components are needed use getAllComponentsVerts Generated from function MR::MeshComponents::getComponentVerts. Parameter mesh can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaComponents_3 | ( | const MR_MeshPart * | meshPart, |
| float | minArea, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
returns the union of connected components, each having at least given area Generated from function MR::MeshComponents::getLargeByAreaComponents. Parameter meshPart can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaComponents_4 | ( | const MR_MeshPart * | meshPart, |
| MR_UnionFind_MR_FaceId * | unionFind, | ||
| float | minArea, | ||
| MR_UndirectedEdgeBitSet * | outBdEdgesBetweenLargeComps ) |
given prepared union-find structure returns the union of connected components, each having at least given area Generated from function MR::MeshComponents::getLargeByAreaComponents. Parameter meshPart can not be null. It is a single object. Parameter unionFind can not be null. It is a single object. Parameter outBdEdgesBetweenLargeComps defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_pair_MR_FaceBitSet_int * MR_MeshComponents_getLargeByAreaRegions | ( | const MR_MeshPart * | meshPart, |
| const MR_Face2RegionMap * | regionMap, | ||
| int | numRegions, | ||
| float | minArea ) |
returns
MR::MeshComponents::getLargeByAreaRegions. Parameter meshPart can not be null. It is a single object. Parameter regionMap can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_pair_MR_FaceBitSet_int_Destroy() to free it when you're done using it. | MRC_API MR_FaceBitSet * MR_MeshComponents_getLargeByAreaSmoothComponents | ( | const MR_MeshPart * | meshPart, |
| float | minArea, | ||
| float | angleFromPlanar, | ||
| MR_UndirectedEdgeBitSet * | outBdEdgesBetweenLargeComps ) |
returns the union of connected components, each having at least given area, and any two faces in a connected component have a path along the surface across the edges, where surface does not deviate from plane more than on given angle Generated from function MR::MeshComponents::getLargeByAreaSmoothComponents. Parameter meshPart can not be null. It is a single object. Parameter outBdEdgesBetweenLargeComps defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_VertBitSet * MR_MeshComponents_getLargeComponentVerts | ( | const MR_Mesh * | mesh, |
| int | minVerts, | ||
| const MR_VertBitSet * | region ) |
returns the union of vertex connected components, each having at least
| minVerts | vertices Generated from function MR::MeshComponents::getLargeComponentVerts. Parameter mesh can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_VertBitSet_Destroy() to free it when you're done using it. |
| 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 ) |
returns the largest by surface area component or empty set if its area is smaller than
| minArea | Generated from function MR::MeshComponents::getLargestComponent. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Parameter minArea has a default argument: 0, pass a null pointer to use it. Parameter numSmallerComponents defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_FaceBitSet_Destroy() to free it when you're done using it. |
| MRC_API MR_VertBitSet * MR_MeshComponents_getLargestComponentVerts | ( | const MR_Mesh * | mesh, |
| const MR_VertBitSet * | region ) |
returns the largest by number of elements component Generated from function MR::MeshComponents::getLargestComponentVerts. Parameter mesh can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_VertBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_std_vector_MR_FaceBitSet * MR_MeshComponents_getNLargeByAreaComponents | ( | const MR_MeshPart * | meshPart, |
| const MR_MeshComponents_LargeByAreaComponentsSettings * | settings ) |
returns requested number of largest by area connected components in descending by area order Generated from function MR::MeshComponents::getNLargeByAreaComponents. Parameter meshPart can not be null. It is a single object. Parameter settings can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_std_vector_MR_FaceBitSet_Destroy() to free it when you're done using it.
| MRC_API MR_uint64_t MR_MeshComponents_getNumComponents | ( | const MR_MeshPart * | meshPart, |
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
returns the number of connected components in mesh part Generated from function MR::MeshComponents::getNumComponents. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++.
| MRC_API MR_Vector_double_MR_RegionId * MR_MeshComponents_getRegionAreas | ( | const MR_MeshPart * | meshPart, |
| const MR_Face2RegionMap * | regionMap, | ||
| int | numRegions ) |
computes the area of each region given via the map Generated from function MR::MeshComponents::getRegionAreas. Parameter meshPart can not be null. It is a single object. Parameter regionMap can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_Vector_double_MR_RegionId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFaces | ( | const MR_MeshPart * | meshPart, |
| const MR_MeshComponents_FaceIncidence * | incidence, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
gets union-find structure for faces with different options of face-connectivity Generated from function MR::MeshComponents::getUnionFindStructureFaces. Parameter meshPart can not be null. It is a single object. Parameter incidence has a default argument: FaceIncidence::PerEdge, pass a null pointer to use it. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_FaceId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_FaceId * MR_MeshComponents_getUnionFindStructureFacesPerEdge | ( | const MR_MeshPart * | meshPart, |
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
gets union-find structure for faces with connectivity by shared edge, and optional edge predicate whether to skip uniting components over it it is guaranteed that isCompBd is invoked in a thread-safe manner (that left and right face are always processed by one thread) Generated from function MR::MeshComponents::getUnionFindStructureFacesPerEdge. Parameter meshPart can not be null. It is a single object. Parameter isCompBd defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_FaceId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_UndirectedEdgeId * MR_MeshComponents_getUnionFindStructureUndirectedEdges | ( | const MR_Mesh * | mesh, |
| const bool * | allPointToRoots ) |
gets union-find structure for all undirected edges in
| mesh | |
| allPointToRoots | if true, then every element in the structure will point directly to the root of its respective component Generated from function MR::MeshComponents::getUnionFindStructureUndirectedEdges. Parameter mesh can not be null. It is a single object. Parameter allPointToRoots has a default argument: false, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_UndirectedEdgeId_Destroy() to free it when you're done using it. |
| 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 ) |
gets union-find structure for vertices Generated from function MR::MeshComponents::getUnionFindStructureVerts. Parameter mesh can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_Mesh_ref_MR_EdgeBitSet | ( | const MR_Mesh * | mesh, |
| const MR_EdgeBitSet * | edges ) |
gets union-find structure for vertices, considering connections by given edges only Generated from function MR::MeshComponents::getUnionFindStructureVerts. Parameter mesh can not be null. It is a single object. Parameter edges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_Mesh_ref_MR_UndirectedEdgeBitSet | ( | const MR_Mesh * | mesh, |
| const MR_UndirectedEdgeBitSet * | edges ) |
gets union-find structure for vertices, considering connections by given undirected edges only Generated from function MR::MeshComponents::getUnionFindStructureVerts. Parameter mesh can not be null. It is a single object. Parameter edges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVerts_const_MR_MeshTopology_ref | ( | const MR_MeshTopology * | topology, |
| const MR_VertBitSet * | region ) |
Generated from function MR::MeshComponents::getUnionFindStructureVerts. Parameter topology can not be null. It is a single object. Parameter region defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| MRC_API MR_UnionFind_MR_VertId * MR_MeshComponents_getUnionFindStructureVertsEx | ( | const MR_Mesh * | mesh, |
| const MR_UndirectedEdgeBitSet * | ignoreEdges ) |
gets union-find structure for vertices, considering connections by all edges excluding given ones Generated from function MR::MeshComponents::getUnionFindStructureVertsEx. Parameter mesh can not be null. It is a single object. Parameter ignoreEdges can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| 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 boundary to boundary)
| outPathVerts | this set receives all vertices passed by the path Generated from function MR::MeshComponents::getUnionFindStructureVertsSeparatedByPath. Parameter mesh can not be null. It is a single object. Parameter path can not be null. It is a single object. Parameter outPathVerts defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it. |
| 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 ) |
Generated from function MR::MeshComponents::getUnionFindStructureVertsSeparatedByPaths. Parameter mesh can not be null. It is a single object. Parameter paths can not be null. It is a single object. Parameter outPathVerts defaults to a null pointer in C++. Never returns null. Returns an instance allocated on the heap! Must call MR_UnionFind_MR_VertId_Destroy() to free it when you're done using it.
| MRC_API bool MR_MeshComponents_hasFullySelectedComponent_MR_Mesh | ( | const MR_Mesh * | mesh, |
| const MR_VertBitSet * | selection ) |
returns true if all vertices of a mesh connected component are present in selection Generated from function MR::MeshComponents::hasFullySelectedComponent. Parameter mesh can not be null. It is a single object. Parameter selection can not be null. It is a single object.
| MRC_API bool MR_MeshComponents_hasFullySelectedComponent_MR_MeshTopology | ( | const MR_MeshTopology * | topology, |
| const MR_VertBitSet * | selection ) |
Generated from function MR::MeshComponents::hasFullySelectedComponent. Parameter topology can not be null. It is a single object. Parameter selection can not be null. It is a single object.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_AssignFromAnother | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this, |
| const MR_MeshComponents_LargeByAreaComponentsSettings * | _other ) |
Generated from a method of class MR::MeshComponents::LargeByAreaComponentsSettings named operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFrom | ( | int | maxLargeComponents, |
| int * | numSmallerComponents, | ||
| float | minArea, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
Constructs MR::MeshComponents::LargeByAreaComponentsSettings elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_LargeByAreaComponentsSettings_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFromAnother | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _other | ) |
Generated from a constructor of class MR::MeshComponents::LargeByAreaComponentsSettings. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_LargeByAreaComponentsSettings_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_MeshComponents_LargeByAreaComponentsSettings_Destroy() to free it when you're done using it.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_DefaultConstructArray | ( | size_t | num_elems | ) |
Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_MeshComponents_LargeByAreaComponentsSettings_DestroyArray(). Use MR_MeshComponents_LargeByAreaComponentsSettings_OffsetMutablePtr() and MR_MeshComponents_LargeByAreaComponentsSettings_OffsetPtr() to access the array elements.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Destroy | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
Destroys a heap-allocated instance of MR_MeshComponents_LargeByAreaComponentsSettings. Does nothing if the pointer is null.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_DestroyArray | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
Destroys a heap-allocated array of MR_MeshComponents_LargeByAreaComponentsSettings. Does nothing if the pointer is null.
| MRC_API const MR_UndirectedEdgeBitSet *const * MR_MeshComponents_LargeByAreaComponentsSettings_Get_isCompBd | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
optional predicate of boundaries between components Returns a pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named isCompBd. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const int * MR_MeshComponents_LargeByAreaComponentsSettings_Get_maxLargeComponents | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
return at most given number of largest by area connected components Returns a pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named maxLargeComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const float * MR_MeshComponents_LargeByAreaComponentsSettings_Get_minArea | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
do not consider a component large if its area is below this value Returns a pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named minArea. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int *const * MR_MeshComponents_LargeByAreaComponentsSettings_Get_numSmallerComponents | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
optional output: the number of components in addition to returned ones Returns a pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named numSmallerComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API const MR_UndirectedEdgeBitSet ** MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_isCompBd | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
optional predicate of boundaries between components Returns a mutable pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named isCompBd. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int * MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_maxLargeComponents | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
return at most given number of largest by area connected components Returns a mutable pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named maxLargeComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API float * MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_minArea | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
do not consider a component large if its area is below this value Returns a mutable pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named minArea. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API int ** MR_MeshComponents_LargeByAreaComponentsSettings_GetMutable_numSmallerComponents | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this | ) |
optional output: the number of components in addition to returned ones Returns a mutable pointer to a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named numSmallerComponents. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_OffsetMutablePtr | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API const MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_OffsetPtr | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | ptr, |
| ptrdiff_t | i ) |
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_isCompBd | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this, |
| const MR_UndirectedEdgeBitSet * | value ) |
optional predicate of boundaries between components Modifies a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named isCompBd. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_maxLargeComponents | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this, |
| int | value ) |
return at most given number of largest by area connected components Modifies a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named maxLargeComponents. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_minArea | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this, |
| float | value ) |
do not consider a component large if its area is below this value Modifies a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named minArea. Parameter _this can not be null. It is a single object.
| MRC_API void MR_MeshComponents_LargeByAreaComponentsSettings_Set_numSmallerComponents | ( | MR_MeshComponents_LargeByAreaComponentsSettings * | _this, |
| int * | value ) |
optional output: the number of components in addition to returned ones Modifies a member variable of class MR::MeshComponents::LargeByAreaComponentsSettings named numSmallerComponents. Parameter _this can not be null. It is a single object.