struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:16
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string
Definition MRContoursCut.h:20
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:20
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_ConstructFrom(float creaseAngle, float criticalTriAspectRatio, int32_t maxIters)
MRC_API void MR_FindDisorientationParams_Set_virtualFillHoles(MR_FindDisorientationParams *_this, bool value)
MRC_API const float * MR_FixMeshDegeneraciesParams_Get_maxAngleChange(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_findDisorientedFaces(const MR_Mesh *mesh, const MR_FindDisorientationParams *params)
MRC_API void MR_FixMeshDegeneraciesParams_Destroy(const MR_FixMeshDegeneraciesParams *_this)
Destroys a heap-allocated instance of MR_FixMeshDegeneraciesParams. Does nothing if the pointer is nu...
MRC_API void MR_fixMultipleEdges_1(MR_Mesh *mesh)
MRC_API bool MR_hasMultipleEdges(const MR_MeshTopology *topology)
MRC_API const float * MR_FixMeshDegeneraciesParams_Get_maxDeviation(const MR_FixMeshDegeneraciesParams *_this)
@ MR_FindDisorientationParams_RayMode_Positive
positive (normal) direction of face should have even number of intersections
Definition MRMeshFixer.h:55
@ MR_FindDisorientationParams_RayMode_Shallowest
both direction should have correct number of intersections (positive - even; negative - odd)
Definition MRMeshFixer.h:57
@ MR_FindDisorientationParams_RayMode_Both
Definition MRMeshFixer.h:59
struct MR_std_vector_std_pair_MR_VertId_MR_VertId MR_std_vector_std_pair_MR_VertId_MR_VertId
Definition MRMeshFixer.h:25
MRC_API MR_expected_MR_UndirectedEdgeBitSet_std_string * MR_findShortEdges(const MR_MeshPart *mp, float criticalLength, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_ConstructFromAnother(const MR_FixCreasesParams *_other)
struct MR_FixCreasesParams MR_FixCreasesParams
Definition MRMeshFixer.h:44
MRC_API void MR_FixMeshDegeneraciesParams_Set_criticalTriAspectRatio(MR_FixMeshDegeneraciesParams *_this, float value)
MRC_API float * MR_FixCreasesParams_GetMutable_creaseAngle(MR_FixCreasesParams *_this)
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_AssignFromAnother(MR_FixCreasesParams *_this, const MR_FixCreasesParams *_other)
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_OffsetMutablePtr(MR_FixMeshDegeneraciesParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
struct MR_expected_std_vector_std_pair_MR_VertId_MR_VertId_std_string MR_expected_std_vector_std_pair_MR_VertId_MR_VertId_std_string
Definition MRMeshFixer.h:22
MRC_API void MR_FixMeshDegeneraciesParams_Set_maxDeviation(MR_FixMeshDegeneraciesParams *_this, float value)
MRC_API int32_t * MR_FixCreasesParams_GetMutable_maxIters(MR_FixCreasesParams *_this)
MRC_API const MR_FindDisorientationParams_RayMode * MR_FindDisorientationParams_Get_mode(const MR_FindDisorientationParams *_this)
MRC_API float * MR_FixMeshDegeneraciesParams_GetMutable_stabilizer(MR_FixMeshDegeneraciesParams *_this)
MRC_API void MR_FixCreasesParams_Set_maxIters(MR_FixCreasesParams *_this, int32_t value)
MRC_API MR_VertBitSet * MR_findRepeatedVertsOnHoleBd(const MR_MeshTopology *topology)
MRC_API MR_EdgeId MR_isVertexRepeatedOnHoleBd(const MR_MeshTopology *topology, MR_VertId v)
MRC_API void MR_FindDisorientationParams_Destroy(const MR_FindDisorientationParams *_this)
Destroys a heap-allocated instance of MR_FindDisorientationParams. Does nothing if the pointer is nul...
MRC_API const MR_std_function_bool_from_float * MR_FixMeshDegeneraciesParams_Get_cb(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_DefaultConstructArray(size_t num_elems)
MRC_API const float * MR_FixMeshDegeneraciesParams_Get_tinyEdgeLength(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_expected_void_std_string * MR_fixMeshDegeneracies(MR_Mesh *mesh, const MR_FixMeshDegeneraciesParams *params)
MRC_API bool MR_isEdgeBetweenDoubleTris(const MR_MeshTopology *topology, MR_EdgeId e)
MRC_API const float * MR_FixMeshDegeneraciesParams_Get_stabilizer(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_DefaultConstructArray(size_t num_elems)
MRC_API void MR_FixMeshDegeneraciesParams_Set_mode(MR_FixMeshDegeneraciesParams *_this, MR_FixMeshDegeneraciesParams_Mode value)
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_ConstructFrom(float maxDeviation, float tinyEdgeLength, float criticalTriAspectRatio, float maxAngleChange, float stabilizer, MR_FaceBitSet *region, MR_FixMeshDegeneraciesParams_Mode mode, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_FindDisorientationParams_DestroyArray(const MR_FindDisorientationParams *_this)
Destroys a heap-allocated array of MR_FindDisorientationParams. Does nothing if the pointer is null.
MRC_API MR_EdgeId MR_eliminateDoubleTris(MR_MeshTopology *topology, MR_EdgeId e, MR_FaceBitSet *region)
MRC_API MR_EdgeId MR_eliminateDegree3Dest(MR_MeshTopology *topology, MR_EdgeId e, MR_FaceBitSet *region)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_OffsetMutablePtr(MR_FindDisorientationParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_AssignFromAnother(MR_FixMeshDegeneraciesParams *_this, MR_PassBy _other_pass_by, MR_FixMeshDegeneraciesParams *_other)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FindDisorientationParams *_other)
MRC_API MR_FindDisorientationParams_RayMode * MR_FindDisorientationParams_GetMutable_mode(MR_FindDisorientationParams *_this)
MRC_API void MR_FixCreasesParams_Destroy(const MR_FixCreasesParams *_this)
Destroys a heap-allocated instance of MR_FixCreasesParams. Does nothing if the pointer is null.
MRC_API const bool * MR_FindDisorientationParams_Get_virtualFillHoles(const MR_FindDisorientationParams *_this)
MRC_API float * MR_FixMeshDegeneraciesParams_GetMutable_maxAngleChange(MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_std_function_bool_from_float * MR_FixMeshDegeneraciesParams_GetMutable_cb(MR_FixMeshDegeneraciesParams *_this)
MRC_API float * MR_FixMeshDegeneraciesParams_GetMutable_criticalTriAspectRatio(MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_AssignFromAnother(MR_FindDisorientationParams *_this, MR_PassBy _other_pass_by, MR_FindDisorientationParams *_other)
struct MR_FindDisorientationParams MR_FindDisorientationParams
Definition MRMeshFixer.h:48
MRC_API void MR_eliminateDoubleTrisAround(MR_MeshTopology *topology, MR_VertId v, MR_FaceBitSet *region)
struct MR_expected_MR_UndirectedEdgeBitSet_std_string MR_expected_MR_UndirectedEdgeBitSet_std_string
Definition MRMeshFixer.h:21
MRC_API const MR_FixMeshDegeneraciesParams_Mode * MR_FixMeshDegeneraciesParams_Get_mode(const MR_FixMeshDegeneraciesParams *_this)
MRC_API const MR_FindDisorientationParams * MR_FindDisorientationParams_OffsetPtr(const MR_FindDisorientationParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_FaceBitSet * MR_findHoleComplicatingFaces(const MR_Mesh *mesh)
MRC_API bool MR_isDegree3Dest(const MR_MeshTopology *topology, MR_EdgeId e)
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_DefaultConstructArray(size_t num_elems)
MRC_API void MR_FixCreasesParams_Set_criticalTriAspectRatio(MR_FixCreasesParams *_this, float value)
MRC_API float * MR_FixMeshDegeneraciesParams_GetMutable_tinyEdgeLength(MR_FixMeshDegeneraciesParams *_this)
MRC_API const int32_t * MR_FixCreasesParams_Get_maxIters(const MR_FixCreasesParams *_this)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_ConstructFrom(MR_FindDisorientationParams_RayMode mode, bool virtualFillHoles, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API int32_t MR_duplicateMultiHoleVertices(MR_Mesh *mesh)
MRC_API const float * MR_FixCreasesParams_Get_criticalTriAspectRatio(const MR_FixCreasesParams *_this)
MRC_API const float * MR_FixMeshDegeneraciesParams_Get_criticalTriAspectRatio(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_DefaultConstruct(void)
MRC_API MR_FixMeshDegeneraciesParams_Mode * MR_FixMeshDegeneraciesParams_GetMutable_mode(MR_FixMeshDegeneraciesParams *_this)
MRC_API const MR_FixCreasesParams * MR_FixCreasesParams_OffsetPtr(const MR_FixCreasesParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API void MR_fixMeshCreases(MR_Mesh *mesh, const MR_FixCreasesParams *params)
MRC_API float * MR_FixMeshDegeneraciesParams_GetMutable_maxDeviation(MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_OffsetMutablePtr(MR_FixCreasesParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
int32_t MR_FindDisorientationParams_RayMode
Mode of detecting disoriented face.
Definition MRMeshFixer.h:51
MRC_API const MR_std_function_bool_from_float * MR_FindDisorientationParams_Get_cb(const MR_FindDisorientationParams *_this)
MRC_API MR_expected_std_vector_std_pair_MR_VertId_MR_VertId_std_string * MR_findMultipleEdges(const MR_MeshTopology *topology, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
@ MR_FixMeshDegeneraciesParams_Mode_RemeshPatch
Definition MRMeshFixer.h:39
@ MR_FixMeshDegeneraciesParams_Mode_Remesh
if both decimation and subdivision does not succeed, removes degenerate areas and fills occurred hole...
Definition MRMeshFixer.h:37
@ MR_FixMeshDegeneraciesParams_Mode_Decimate
use decimation only to fix degeneracies
Definition MRMeshFixer.h:35
MRC_API float * MR_FixCreasesParams_GetMutable_criticalTriAspectRatio(MR_FixCreasesParams *_this)
MRC_API MR_std_function_bool_from_float * MR_FindDisorientationParams_GetMutable_cb(MR_FindDisorientationParams *_this)
int32_t MR_FixMeshDegeneraciesParams_Mode
Definition MRMeshFixer.h:31
MRC_API MR_FaceBitSet *const * MR_FixMeshDegeneraciesParams_Get_region(const MR_FixMeshDegeneraciesParams *_this)
MRC_API MR_FindDisorientationParams * MR_FindDisorientationParams_DefaultConstruct(void)
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_findDegenerateFaces(const MR_MeshPart *mp, const float *criticalAspectRatio, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_FindDisorientationParams_Set_mode(MR_FindDisorientationParams *_this, MR_FindDisorientationParams_RayMode value)
MRC_API const float * MR_FixCreasesParams_Get_creaseAngle(const MR_FixCreasesParams *_this)
MRC_API bool * MR_FindDisorientationParams_GetMutable_virtualFillHoles(MR_FindDisorientationParams *_this)
MRC_API MR_FixCreasesParams * MR_FixCreasesParams_DefaultConstruct(void)
MRC_API void MR_FixMeshDegeneraciesParams_Set_maxAngleChange(MR_FixMeshDegeneraciesParams *_this, float value)
MRC_API MR_FaceBitSet ** MR_FixMeshDegeneraciesParams_GetMutable_region(MR_FixMeshDegeneraciesParams *_this)
MRC_API void MR_FixMeshDegeneraciesParams_Set_tinyEdgeLength(MR_FixMeshDegeneraciesParams *_this, float value)
MRC_API void MR_FindDisorientationParams_Set_cb(MR_FindDisorientationParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API void MR_FixCreasesParams_DestroyArray(const MR_FixCreasesParams *_this)
Destroys a heap-allocated array of MR_FixCreasesParams. Does nothing if the pointer is null.
MRC_API void MR_FixMeshDegeneraciesParams_Set_cb(MR_FixMeshDegeneraciesParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_VertBitSet * MR_findNRingVerts(const MR_MeshTopology *topology, int32_t n, const MR_VertBitSet *region)
MRC_API void MR_FixMeshDegeneraciesParams_DestroyArray(const MR_FixMeshDegeneraciesParams *_this)
Destroys a heap-allocated array of MR_FixMeshDegeneraciesParams. Does nothing if the pointer is null.
MRC_API void MR_FixMeshDegeneraciesParams_Set_stabilizer(MR_FixMeshDegeneraciesParams *_this, float value)
MRC_API void MR_fixMultipleEdges_2(MR_Mesh *mesh, const MR_std_vector_std_pair_MR_VertId_MR_VertId *multipleEdges)
MRC_API void MR_FixMeshDegeneraciesParams_Set_region(MR_FixMeshDegeneraciesParams *_this, MR_FaceBitSet *value)
MRC_API MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FixMeshDegeneraciesParams *_other)
MRC_API const MR_FixMeshDegeneraciesParams * MR_FixMeshDegeneraciesParams_OffsetPtr(const MR_FixMeshDegeneraciesParams *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API int32_t MR_eliminateDegree3Vertices(MR_MeshTopology *topology, MR_VertBitSet *region, MR_FaceBitSet *fs)
struct MR_FixMeshDegeneraciesParams MR_FixMeshDegeneraciesParams
Generated from class MR::FixMeshDegeneraciesParams.
Definition MRMeshFixer.h:29
MRC_API void MR_FixCreasesParams_Set_creaseAngle(MR_FixCreasesParams *_this, float value)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11