MeshLib C Docs
Loading...
Searching...
No Matches
MRFillHoleNicely.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MREnums.h>
4#include <MRCMesh/MRId.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10#include <stdint.h>
11
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
17typedef struct MR_FaceColors MR_FaceColors; // Defined in `#include <MRCMesh/MRVector.h>`.
18typedef struct MR_FillHoleParams MR_FillHoleParams; // Defined in `#include <MRCMesh/MRMeshFillHole.h>`.
19typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
20typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
21typedef struct MR_VertColors MR_VertColors; // Defined in `#include <MRCMesh/MRVector.h>`.
22typedef struct MR_VertCoords2 MR_VertCoords2; // Defined in `#include <MRCMesh/MRVector.h>`.
23typedef struct MR_std_function_bool_from_MR_EdgeId MR_std_function_bool_from_MR_EdgeId; // Defined in `#include <MRCMisc/std_function_bool_from_MR_EdgeId.h>`.
24typedef struct MR_std_function_void_from_MR_EdgeId_MR_EdgeId MR_std_function_void_from_MR_EdgeId_MR_EdgeId; // Defined in `#include <MRCMisc/std_function_void_from_MR_EdgeId_MR_EdgeId.h>`.
25
26
29
35
40
46
52
57
63
69
74
80
86
91
97
103
108
114
120
125
131
137
142
148
154
159
165
171
176
182
188
193
199
205
210
216
222
227
233
239
244
250
256
261
267
273
278
284
288
293
296MRC_API MR_FillHoleNicelySettings *MR_FillHoleNicelySettings_ConstructFrom(MR_PassBy triangulateParams_pass_by, MR_FillHoleParams *triangulateParams, bool triangulateOnly, MR_UndirectedEdgeBitSet *notFlippable, float maxEdgeLen, int32_t maxEdgeSplits, float maxAngleChangeAfterFlip, bool smoothCurvature, bool naturalSmooth, MR_PassBy beforeEdgeSplit_pass_by, MR_std_function_bool_from_MR_EdgeId *beforeEdgeSplit, MR_PassBy onEdgeSplit_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId *onEdgeSplit, MR_EdgeWeights edgeWeights, MR_VertexMass vmass, MR_VertCoords2 *uvCoords, MR_VertColors *colorMap, MR_FaceColors *faceColors);
297
300
303
307
310
313
318
328
329#ifdef __cplusplus
330} // extern "C"
331#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_FaceColors MR_FaceColors
Definition MRChangeColoringActions.h:14
struct MR_VertCoords2 MR_VertCoords2
Definition MRChangeMeshAction.h:18
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
struct MR_VertColors MR_VertColors
Definition MRE57.h:16
int32_t MR_VertexMass
determines the weight or mass of each vertex in applications like Laplacian
Definition MREnums.h:14
int32_t MR_EdgeWeights
determines the weight of each edge in applications like Laplacian
Definition MREnums.h:24
MRC_API MR_FaceColors *const * MR_FillHoleNicelySettings_Get_faceColors(const MR_FillHoleNicelySettings *_this)
MRC_API MR_VertexMass * MR_FillHoleNicelySettings_GetMutable_vmass(MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_vmass(MR_FillHoleNicelySettings *_this, MR_VertexMass value)
MRC_API MR_VertCoords2 ** MR_FillHoleNicelySettings_GetMutable_uvCoords(MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_edgeWeights(MR_FillHoleNicelySettings *_this, MR_EdgeWeights value)
MRC_API int32_t * MR_FillHoleNicelySettings_GetMutable_maxEdgeSplits(MR_FillHoleNicelySettings *_this)
MRC_API const float * MR_FillHoleNicelySettings_Get_maxAngleChangeAfterFlip(const MR_FillHoleNicelySettings *_this)
MRC_API MR_EdgeWeights * MR_FillHoleNicelySettings_GetMutable_edgeWeights(MR_FillHoleNicelySettings *_this)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_FillHoleNicelySettings *_other)
MRC_API const bool * MR_FillHoleNicelySettings_Get_smoothCurvature(const MR_FillHoleNicelySettings *_this)
MRC_API const bool * MR_FillHoleNicelySettings_Get_triangulateOnly(const MR_FillHoleNicelySettings *_this)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_AssignFromAnother(MR_FillHoleNicelySettings *_this, MR_PassBy _other_pass_by, MR_FillHoleNicelySettings *_other)
MRC_API const int32_t * MR_FillHoleNicelySettings_Get_maxEdgeSplits(const MR_FillHoleNicelySettings *_this)
struct MR_std_function_bool_from_MR_EdgeId MR_std_function_bool_from_MR_EdgeId
Definition MRFillHoleNicely.h:23
MRC_API void MR_FillHoleNicelySettings_Set_onEdgeSplit(MR_FillHoleNicelySettings *_this, MR_PassBy value_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId *value)
struct MR_FillHoleNicelySettings MR_FillHoleNicelySettings
Generated from class MR::FillHoleNicelySettings.
Definition MRFillHoleNicely.h:28
MRC_API void MR_FillHoleNicelySettings_Destroy(const MR_FillHoleNicelySettings *_this)
Destroys a heap-allocated instance of MR_FillHoleNicelySettings. Does nothing if the pointer is null.
MRC_API const MR_FillHoleParams * MR_FillHoleNicelySettings_Get_triangulateParams(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_triangulateOnly(MR_FillHoleNicelySettings *_this, bool value)
MRC_API void MR_FillHoleNicelySettings_Set_maxEdgeLen(MR_FillHoleNicelySettings *_this, float value)
MRC_API MR_UndirectedEdgeBitSet *const * MR_FillHoleNicelySettings_Get_notFlippable(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_maxEdgeSplits(MR_FillHoleNicelySettings *_this, int32_t value)
MRC_API MR_FaceColors ** MR_FillHoleNicelySettings_GetMutable_faceColors(MR_FillHoleNicelySettings *_this)
MRC_API float * MR_FillHoleNicelySettings_GetMutable_maxEdgeLen(MR_FillHoleNicelySettings *_this)
MRC_API bool * MR_FillHoleNicelySettings_GetMutable_naturalSmooth(MR_FillHoleNicelySettings *_this)
MRC_API const float * MR_FillHoleNicelySettings_Get_maxEdgeLen(const MR_FillHoleNicelySettings *_this)
MRC_API MR_std_function_void_from_MR_EdgeId_MR_EdgeId * MR_FillHoleNicelySettings_GetMutable_onEdgeSplit(MR_FillHoleNicelySettings *_this)
MRC_API const MR_std_function_bool_from_MR_EdgeId * MR_FillHoleNicelySettings_Get_beforeEdgeSplit(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_colorMap(MR_FillHoleNicelySettings *_this, MR_VertColors *value)
MRC_API void MR_FillHoleNicelySettings_DestroyArray(const MR_FillHoleNicelySettings *_this)
Destroys a heap-allocated array of MR_FillHoleNicelySettings. Does nothing if the pointer is null.
MRC_API bool * MR_FillHoleNicelySettings_GetMutable_smoothCurvature(MR_FillHoleNicelySettings *_this)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_OffsetMutablePtr(MR_FillHoleNicelySettings *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 MR_std_function_void_from_MR_EdgeId_MR_EdgeId * MR_FillHoleNicelySettings_Get_onEdgeSplit(const MR_FillHoleNicelySettings *_this)
struct MR_FillHoleParams MR_FillHoleParams
Definition MRFillHoleNicely.h:18
MRC_API MR_FaceBitSet * MR_fillHoleNicely(MR_Mesh *mesh, MR_EdgeId holeEdge, const MR_FillHoleNicelySettings *settings)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_DefaultConstructArray(size_t num_elems)
MRC_API void MR_FillHoleNicelySettings_Set_uvCoords(MR_FillHoleNicelySettings *_this, MR_VertCoords2 *value)
MRC_API const bool * MR_FillHoleNicelySettings_Get_naturalSmooth(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_faceColors(MR_FillHoleNicelySettings *_this, MR_FaceColors *value)
MRC_API const MR_EdgeWeights * MR_FillHoleNicelySettings_Get_edgeWeights(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_triangulateParams(MR_FillHoleNicelySettings *_this, MR_PassBy value_pass_by, MR_FillHoleParams *value)
MRC_API const MR_VertexMass * MR_FillHoleNicelySettings_Get_vmass(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_maxAngleChangeAfterFlip(MR_FillHoleNicelySettings *_this, float value)
MRC_API void MR_FillHoleNicelySettings_Set_beforeEdgeSplit(MR_FillHoleNicelySettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_EdgeId *value)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_ConstructFrom(MR_PassBy triangulateParams_pass_by, MR_FillHoleParams *triangulateParams, bool triangulateOnly, MR_UndirectedEdgeBitSet *notFlippable, float maxEdgeLen, int32_t maxEdgeSplits, float maxAngleChangeAfterFlip, bool smoothCurvature, bool naturalSmooth, MR_PassBy beforeEdgeSplit_pass_by, MR_std_function_bool_from_MR_EdgeId *beforeEdgeSplit, MR_PassBy onEdgeSplit_pass_by, MR_std_function_void_from_MR_EdgeId_MR_EdgeId *onEdgeSplit, MR_EdgeWeights edgeWeights, MR_VertexMass vmass, MR_VertCoords2 *uvCoords, MR_VertColors *colorMap, MR_FaceColors *faceColors)
MRC_API MR_std_function_bool_from_MR_EdgeId * MR_FillHoleNicelySettings_GetMutable_beforeEdgeSplit(MR_FillHoleNicelySettings *_this)
MRC_API MR_VertColors ** MR_FillHoleNicelySettings_GetMutable_colorMap(MR_FillHoleNicelySettings *_this)
MRC_API bool * MR_FillHoleNicelySettings_GetMutable_triangulateOnly(MR_FillHoleNicelySettings *_this)
struct MR_std_function_void_from_MR_EdgeId_MR_EdgeId MR_std_function_void_from_MR_EdgeId_MR_EdgeId
Definition MRFillHoleNicely.h:24
MRC_API MR_UndirectedEdgeBitSet ** MR_FillHoleNicelySettings_GetMutable_notFlippable(MR_FillHoleNicelySettings *_this)
MRC_API MR_VertCoords2 *const * MR_FillHoleNicelySettings_Get_uvCoords(const MR_FillHoleNicelySettings *_this)
MRC_API MR_VertColors *const * MR_FillHoleNicelySettings_Get_colorMap(const MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_smoothCurvature(MR_FillHoleNicelySettings *_this, bool value)
MRC_API MR_FillHoleParams * MR_FillHoleNicelySettings_GetMutable_triangulateParams(MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_naturalSmooth(MR_FillHoleNicelySettings *_this, bool value)
MRC_API MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_DefaultConstruct(void)
MRC_API float * MR_FillHoleNicelySettings_GetMutable_maxAngleChangeAfterFlip(MR_FillHoleNicelySettings *_this)
MRC_API void MR_FillHoleNicelySettings_Set_notFlippable(MR_FillHoleNicelySettings *_this, MR_UndirectedEdgeBitSet *value)
MRC_API const MR_FillHoleNicelySettings * MR_FillHoleNicelySettings_OffsetPtr(const MR_FillHoleNicelySettings *ptr, ptrdiff_t i)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
Definition MRId.h:152