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
66
72
78
83
89
97
104
112
119
125
132
138
143
149
156
162
169
177
184
192
203
213
224
237
249
262
272
281
291
295
300
303MRC_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);
304
307
310
314
317
320
325
331
336
342
348
353
359
367
374
382
389
395
402
408
413
419
426
432
439
447
454
462
473
483
494
507
519
532
542
551
561
565
570
573MRC_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);
574
577
580
584
587
590
595
601
606
612
618
623
629
633
638
642
645
648
653
656
659
665
676
683
694
701
702#ifdef __cplusplus
703} // extern "C"
704#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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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