MeshLib C Docs
Loading...
Searching...
No Matches
MRPolylineDecimate.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_Polyline2 MR_Polyline2; // Defined in `#include <MRCMesh/MRPolyline.h>`.
14typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
15typedef struct MR_Vector_MR_QuadraticForm2f_MR_VertId MR_Vector_MR_QuadraticForm2f_MR_VertId; // Defined in `#include <MRCMesh/MRVector.h>`.
16typedef struct MR_Vector_MR_QuadraticForm3f_MR_VertId MR_Vector_MR_QuadraticForm3f_MR_VertId; // Defined in `#include <MRCMesh/MRVector.h>`.
17typedef struct MR_VertBitSet MR_VertBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
18typedef struct MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref; // Defined in `#include <MRCMisc/std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref.h>`.
19typedef struct MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref; // Defined in `#include <MRCMisc/std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref.h>`.
20typedef struct MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref; // Defined in `#include <MRCMisc/std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref.h>`.
21typedef struct MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref; // Defined in `#include <MRCMisc/std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref.h>`.
22typedef struct MR_std_vector_MR_Vector2f MR_std_vector_MR_Vector2f; // Defined in `#include <MRCMisc/std_vector_MR_Vector2f.h>`.
23typedef struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f; // Defined in `#include <MRCMisc/std_vector_MR_Vector3f.h>`.
24
25
36
47
55
61
67
73
79
85
91
99
107
115
122
129
136
142
148
154
161
169
176
184
192
200
211
223
234
247
261
274
284
295
305
309
314
322MRC_API MR_DecimatePolylineSettings_MR_Vector2f *MR_DecimatePolylineSettings_MR_Vector2f_ConstructFrom(float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR_VertBitSet *region, bool touchBdVertices, MR_PassBy preCollapse_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref *preCollapse, MR_PassBy adjustCollapse_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref *adjustCollapse, MR_Vector_MR_QuadraticForm2f_MR_VertId *vertForms);
323
327
331
336
339
342
349
355
361
367
373
379
385
393
401
409
416
423
430
436
442
448
455
463
470
478
486
494
505
517
528
541
555
568
578
589
599
603
608
616MRC_API MR_DecimatePolylineSettings_MR_Vector3f *MR_DecimatePolylineSettings_MR_Vector3f_ConstructFrom(float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR_VertBitSet *region, bool touchBdVertices, MR_PassBy preCollapse_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref *preCollapse, MR_PassBy adjustCollapse_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref *adjustCollapse, MR_Vector_MR_QuadraticForm3f_MR_VertId *vertForms);
617
621
625
630
633
636
643
649
655
661
667
673
679
683
688
693
697
701
707
710
713
721
732
739
750
757
758#ifdef __cplusplus
759} // extern "C"
760#endif
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:21
struct MR_Polyline2 MR_Polyline2
Definition MRAABBTreePolyline.h:20
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:22
struct MR_std_vector_MR_Vector3f MR_std_vector_MR_Vector3f
Definition MRBestFit.h:25
struct MR_std_vector_MR_Vector2f MR_std_vector_MR_Vector2f
Definition MRContour.h:11
struct MR_Vector_MR_QuadraticForm3f_MR_VertId MR_Vector_MR_QuadraticForm3f_MR_VertId
Definition MRMeshDecimate.h:21
struct MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref
Definition MRMeshDecimate.h:27
struct MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref
Definition MRMeshDecimate.h:24
struct MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref
Definition MRPolylineDecimate.h:20
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector2f_Get_maxEdgeLen(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_optimizeVertexPos(MR_DecimatePolylineSettings_MR_Vector2f *_this, bool value)
MRC_API bool * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_touchBdVertices(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API const float * MR_DecimatePolylineResult_Get_errorIntroduced(const MR_DecimatePolylineResult *_this)
MRC_API int * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_maxDeletedVertices(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_adjustCollapse(MR_DecimatePolylineSettings_MR_Vector2f *_this, MR_PassBy value_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref *value)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API const MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref * MR_DecimatePolylineSettings_MR_Vector3f_Get_preCollapse(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
The user can provide this optional callback that is invoked immediately before edge collapse;.
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_DefaultConstructArray(size_t num_elems)
MRC_API float * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_maxEdgeLen(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_ConstructFrom(float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR_VertBitSet *region, bool touchBdVertices, MR_PassBy preCollapse_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref *preCollapse, MR_PassBy adjustCollapse_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref *adjustCollapse, MR_Vector_MR_QuadraticForm2f_MR_VertId *vertForms)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_stabilizer(MR_DecimatePolylineSettings_MR_Vector2f *_this, float value)
MRC_API MR_VertBitSet *const * MR_DecimatePolylineSettings_MR_Vector3f_Get_region(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API bool * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_touchBdVertices(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_preCollapse(MR_DecimatePolylineSettings_MR_Vector3f *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref *value)
The user can provide this optional callback that is invoked immediately before edge collapse;.
struct MR_DecimatePolylineSettings_MR_Vector3f MR_DecimatePolylineSettings_MR_Vector3f
Definition MRPolylineDecimate.h:46
MRC_API void MR_DecimatePolylineResult_Destroy(const MR_DecimatePolylineResult *_this)
Destroys a heap-allocated instance of MR_DecimatePolylineResult. Does nothing if the pointer is null.
MRC_API const MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_OffsetPtr(const MR_DecimatePolylineSettings_MR_Vector2f *ptr, ptrdiff_t i)
MRC_API const int * MR_DecimatePolylineSettings_MR_Vector3f_Get_maxDeletedVertices(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
struct MR_DecimatePolylineResult MR_DecimatePolylineResult
Definition MRPolylineDecimate.h:54
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_DefaultConstruct(void)
MRC_API MR_VertBitSet ** MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_region(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_vertForms(MR_DecimatePolylineSettings_MR_Vector3f *_this, MR_Vector_MR_QuadraticForm3f_MR_VertId *value)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_maxError(MR_DecimatePolylineSettings_MR_Vector2f *_this, float value)
MRC_API int * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_maxDeletedVertices(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API float * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_maxError(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_DefaultConstruct(void)
MRC_API const MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref * MR_DecimatePolylineSettings_MR_Vector2f_Get_preCollapse(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
The user can provide this optional callback that is invoked immediately before edge collapse;.
MRC_API MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_adjustCollapse(MR_DecimatePolylineSettings_MR_Vector3f *_this)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API MR_DecimatePolylineResult * MR_decimatePolyline_MR_Polyline3(MR_Polyline3 *polyline, const MR_DecimatePolylineSettings_MR_Vector3f *settings)
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_ConstructFromAnother(const MR_DecimatePolylineResult *_other)
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector2f_Get_stabilizer(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API const int * MR_DecimatePolylineSettings_MR_Vector2f_Get_maxDeletedVertices(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_touchBdVertices(MR_DecimatePolylineSettings_MR_Vector3f *_this, bool value)
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_AssignFromAnother(MR_DecimatePolylineSettings_MR_Vector3f *_this, MR_PassBy _other_pass_by, MR_DecimatePolylineSettings_MR_Vector3f *_other)
MRC_API void MR_DecimatePolylineResult_Set_vertsDeleted(MR_DecimatePolylineResult *_this, int value)
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_OffsetMutablePtr(MR_DecimatePolylineSettings_MR_Vector2f *ptr, ptrdiff_t i)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_maxEdgeLen(MR_DecimatePolylineSettings_MR_Vector3f *_this, float value)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_vertForms(MR_DecimatePolylineSettings_MR_Vector2f *_this, MR_Vector_MR_QuadraticForm2f_MR_VertId *value)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API bool * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_optimizeVertexPos(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_maxEdgeLen(MR_DecimatePolylineSettings_MR_Vector2f *_this, float value)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_touchBdVertices(MR_DecimatePolylineSettings_MR_Vector2f *_this, bool value)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_DestroyArray(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
Destroys a heap-allocated array of MR_DecimatePolylineSettings_MR_Vector3f. Does nothing if the point...
MRC_API float * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_stabilizer(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API const int * MR_DecimatePolylineResult_Get_vertsDeleted(const MR_DecimatePolylineResult *_this)
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_AssignFromAnother(MR_DecimatePolylineResult *_this, const MR_DecimatePolylineResult *_other)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Destroy(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
Destroys a heap-allocated instance of MR_DecimatePolylineSettings_MR_Vector2f. Does nothing if the po...
MRC_API const MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref * MR_DecimatePolylineSettings_MR_Vector2f_Get_adjustCollapse(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API const bool * MR_DecimatePolylineSettings_MR_Vector3f_Get_optimizeVertexPos(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_OffsetMutablePtr(MR_DecimatePolylineSettings_MR_Vector3f *ptr, ptrdiff_t i)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_maxDeletedVertices(MR_DecimatePolylineSettings_MR_Vector2f *_this, int value)
MRC_API const MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref * MR_DecimatePolylineSettings_MR_Vector3f_Get_adjustCollapse(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_preCollapse(MR_DecimatePolylineSettings_MR_Vector2f *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref *value)
The user can provide this optional callback that is invoked immediately before edge collapse;.
MRC_API MR_Vector_MR_QuadraticForm3f_MR_VertId *const * MR_DecimatePolylineSettings_MR_Vector3f_Get_vertForms(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API const MR_DecimatePolylineResult * MR_DecimatePolylineResult_OffsetPtr(const MR_DecimatePolylineResult *ptr, ptrdiff_t i)
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_DefaultConstructArray(size_t num_elems)
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DecimatePolylineSettings_MR_Vector2f *_other)
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_Set_region(MR_DecimatePolylineSettings_MR_Vector2f *_this, MR_VertBitSet *value)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_optimizeVertexPos(MR_DecimatePolylineSettings_MR_Vector3f *_this, bool value)
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector3f_Get_stabilizer(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API bool * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_optimizeVertexPos(MR_DecimatePolylineSettings_MR_Vector3f *_this)
struct MR_Vector_MR_QuadraticForm2f_MR_VertId MR_Vector_MR_QuadraticForm2f_MR_VertId
Definition MRPolylineDecimate.h:15
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector3f_Get_maxEdgeLen(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API const bool * MR_DecimatePolylineSettings_MR_Vector3f_Get_touchBdVertices(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API MR_DecimatePolylineResult * MR_decimateContour_std_vector_MR_Vector3f(MR_std_vector_MR_Vector3f *contour, const MR_DecimatePolylineSettings_MR_Vector3f *settings)
MRC_API float * MR_DecimatePolylineResult_GetMutable_errorIntroduced(MR_DecimatePolylineResult *_this)
MRC_API MR_DecimatePolylineResult * MR_decimatePolyline_MR_Polyline2(MR_Polyline2 *polyline, const MR_DecimatePolylineSettings_MR_Vector2f *settings)
Collapse edges in the polyline according to the settings.
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector3f_Get_maxError(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_maxDeletedVertices(MR_DecimatePolylineSettings_MR_Vector3f *_this, int value)
MRC_API MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector2f_ref * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_adjustCollapse(MR_DecimatePolylineSettings_MR_Vector2f *_this)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API MR_Vector_MR_QuadraticForm3f_MR_VertId ** MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_vertForms(MR_DecimatePolylineSettings_MR_Vector3f *_this)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API const float * MR_DecimatePolylineSettings_MR_Vector2f_Get_maxError(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API MR_VertBitSet *const * MR_DecimatePolylineSettings_MR_Vector2f_Get_region(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_AssignFromAnother(MR_DecimatePolylineSettings_MR_Vector2f *_this, MR_PassBy _other_pass_by, MR_DecimatePolylineSettings_MR_Vector2f *_other)
MRC_API float * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_maxEdgeLen(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_stabilizer(MR_DecimatePolylineSettings_MR_Vector3f *_this, float value)
MRC_API void MR_DecimatePolylineResult_Set_errorIntroduced(MR_DecimatePolylineResult *_this, float value)
MRC_API float * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_maxError(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_adjustCollapse(MR_DecimatePolylineSettings_MR_Vector3f *_this, MR_PassBy value_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref *value)
The user can provide this optional callback for adjusting error introduced by this edge collapse and ...
MRC_API MR_DecimatePolylineSettings_MR_Vector2f * MR_DecimatePolylineSettings_MR_Vector2f_DefaultConstruct(void)
struct MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref
Definition MRPolylineDecimate.h:18
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_OffsetMutablePtr(MR_DecimatePolylineResult *ptr, ptrdiff_t i)
MRC_API int * MR_DecimatePolylineResult_GetMutable_vertsDeleted(MR_DecimatePolylineResult *_this)
struct MR_DecimatePolylineSettings_MR_Vector2f MR_DecimatePolylineSettings_MR_Vector2f
Definition MRPolylineDecimate.h:35
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_maxError(MR_DecimatePolylineSettings_MR_Vector3f *_this, float value)
MRC_API MR_std_function_bool_from_MR_EdgeId_const_MR_Vector2f_ref * MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_preCollapse(MR_DecimatePolylineSettings_MR_Vector2f *_this)
The user can provide this optional callback that is invoked immediately before edge collapse;.
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Set_region(MR_DecimatePolylineSettings_MR_Vector3f *_this, MR_VertBitSet *value)
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DecimatePolylineSettings_MR_Vector3f *_other)
MRC_API MR_VertBitSet ** MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_region(MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API float * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_stabilizer(MR_DecimatePolylineSettings_MR_Vector3f *_this)
MRC_API void MR_DecimatePolylineSettings_MR_Vector3f_Destroy(const MR_DecimatePolylineSettings_MR_Vector3f *_this)
Destroys a heap-allocated instance of MR_DecimatePolylineSettings_MR_Vector3f. Does nothing if the po...
MRC_API void MR_DecimatePolylineResult_DestroyArray(const MR_DecimatePolylineResult *_this)
Destroys a heap-allocated array of MR_DecimatePolylineResult. Does nothing if the pointer is null.
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_ConstructFrom(float maxError, float maxEdgeLen, float stabilizer, bool optimizeVertexPos, int maxDeletedVertices, MR_VertBitSet *region, bool touchBdVertices, MR_PassBy preCollapse_pass_by, MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref *preCollapse, MR_PassBy adjustCollapse_pass_by, MR_std_function_void_from_MR_UndirectedEdgeId_float_ref_MR_Vector3f_ref *adjustCollapse, MR_Vector_MR_QuadraticForm3f_MR_VertId *vertForms)
MRC_API const bool * MR_DecimatePolylineSettings_MR_Vector2f_Get_optimizeVertexPos(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API const bool * MR_DecimatePolylineSettings_MR_Vector2f_Get_touchBdVertices(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
MRC_API MR_Vector_MR_QuadraticForm2f_MR_VertId *const * MR_DecimatePolylineSettings_MR_Vector2f_Get_vertForms(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API void MR_DecimatePolylineSettings_MR_Vector2f_DestroyArray(const MR_DecimatePolylineSettings_MR_Vector2f *_this)
Destroys a heap-allocated array of MR_DecimatePolylineSettings_MR_Vector2f. Does nothing if the point...
MRC_API MR_DecimatePolylineResult * MR_decimateContour_std_vector_MR_Vector2f(MR_std_vector_MR_Vector2f *contour, const MR_DecimatePolylineSettings_MR_Vector2f *settings)
Collapse edges in the contour according to the settings.
MRC_API MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_DefaultConstructArray(size_t num_elems)
MRC_API MR_DecimatePolylineResult * MR_DecimatePolylineResult_ConstructFrom(int vertsDeleted, float errorIntroduced)
MRC_API MR_Vector_MR_QuadraticForm2f_MR_VertId ** MR_DecimatePolylineSettings_MR_Vector2f_GetMutable_vertForms(MR_DecimatePolylineSettings_MR_Vector2f *_this)
If not null, then on input: if the vector is not empty then it is taken for initialization instead of...
MRC_API const MR_DecimatePolylineSettings_MR_Vector3f * MR_DecimatePolylineSettings_MR_Vector3f_OffsetPtr(const MR_DecimatePolylineSettings_MR_Vector3f *ptr, ptrdiff_t i)
MRC_API MR_std_function_bool_from_MR_EdgeId_const_MR_Vector3f_ref * MR_DecimatePolylineSettings_MR_Vector3f_GetMutable_preCollapse(MR_DecimatePolylineSettings_MR_Vector3f *_this)
The user can provide this optional callback that is invoked immediately before edge collapse;.
MR_PassBy
Definition common.h:23
#define MRC_API
Definition exports.h:11