#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. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
Face incidence type.
| typedef struct MR_MeshComponents_LargeByAreaComponentsSettings MR_MeshComponents_LargeByAreaComponentsSettings |
Generated from class MR::MeshComponents::LargeByAreaComponentsSettings. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).
| 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 method MR::MeshComponents::ExpandToComponentsParams::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| 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. The reference to the parameter incidence might be preserved in the constructed object. The reference to the parameter isCompBd might be preserved in the constructed object. The reference to the parameter optOutNumComponents might be preserved in the constructed object. The reference to the parameter cb might be preserved in the constructed object. 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. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_MeshComponents_ExpandToComponentsParams * MR_MeshComponents_ExpandToComponentsParams_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
| MR_MeshComponents_ExpandToComponentsParams * | _other ) |
Generated from constructor MR::MeshComponents::ExpandToComponentsParams::ExpandToComponentsParams. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter value might be preserved in this object in element cb. When this function is called, this object will drop object references it had previously in cb.
| 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. When this function is called, this object will drop object references it had previously in coverRatio.
| 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. The reference to the parameter value might be preserved in this object in element incidence. When this function is called, this object will drop object references it had previously in incidence.
| 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. The reference to the parameter value might be preserved in this object in element isCompBd. When this function is called, this object will drop object references it had previously in isCompBd.
| 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. The reference to the parameter value might be preserved in this object in element optOutNumComponents. When this function is called, this object will drop object references it had previously in optOutNumComponents.
| 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 method MR::MeshComponents::LargeByAreaComponentsSettings::operator=. Parameter _this can not be null. It is a single object. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFrom | ( | int | maxLargeComponents, |
| int * | numSmallerComponents, | ||
| float | minArea, | ||
| const MR_UndirectedEdgeBitSet * | isCompBd ) |
Constructs MR::MeshComponents::LargeByAreaComponentsSettings elementwise. The reference to the parameter numSmallerComponents might be preserved in the constructed object. The reference to the parameter isCompBd might be preserved in the constructed 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. When this function is called, this object will drop any object references it had previously.
| MRC_API MR_MeshComponents_LargeByAreaComponentsSettings * MR_MeshComponents_LargeByAreaComponentsSettings_ConstructFromAnother | ( | const MR_MeshComponents_LargeByAreaComponentsSettings * | _other | ) |
Generated from constructor MR::MeshComponents::LargeByAreaComponentsSettings::LargeByAreaComponentsSettings. Parameter _other can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter ptr might be preserved in the return value.
| 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. The reference to the parameter value might be preserved in this object in element isCompBd. When this function is called, this object will drop object references it had previously in isCompBd.
| 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. When this function is called, this object will drop object references it had previously in maxLargeComponents.
| 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. When this function is called, this object will drop object references it had previously in minArea.
| 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. The reference to the parameter value might be preserved in this object in element numSmallerComponents. When this function is called, this object will drop object references it had previously in numSmallerComponents.