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
35
45
52
58
63
69
75
80
86
94
101
109
116
122
129
135
140
146
153
159
166
174
181
189
200
210
221
234
246
259
269
278
288
292
297
300MRC_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);
301
304
307
311
314
317
322
328
333
339
345
350
356
364
371
379
386
392
399
405
410
416
423
429
436
444
451
459
470
480
491
504
516
529
539
548
558
562
567
570MRC_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);
571
574
577
581
584
587
592
598
603
609
615
620
626
630
635
639
642
645
650
653
656
662
673
680
691
698
699#ifdef __cplusplus
700} // extern "C"
701#endif
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:16
struct MR_Polyline2 MR_Polyline2
Definition MRAABBTreePolyline.h:15
struct MR_VertBitSet MR_VertBitSet
Definition MRAABBTree.h:15
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
Generated from class MR::DecimatePolylineSettings<MR::Vector3f>.
Definition MRPolylineDecimate.h:44
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
Generated from class MR::DecimatePolylineResult.
Definition MRPolylineDecimate.h:51
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
Generated from class MR::DecimatePolylineSettings<MR::Vector2f>.
Definition MRPolylineDecimate.h:34
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:19
#define MRC_API
Definition exports.h:11