MeshLib C Docs
Loading...
Searching...
No Matches
MRFixSelfIntersections.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_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
14typedef struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string; // Defined in `#include <MRCMisc/expected_MR_FaceBitSet_std_string.h>`.
15typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
16typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
17
18
22
31
37
42
48
53
57
62
68
73
79
85
90
96
103
109
116
122
127
133
137
142
145MRC_API MR_SelfIntersections_Settings *MR_SelfIntersections_Settings_ConstructFrom(bool touchIsIntersection, MR_SelfIntersections_Settings_Method method, int relaxIterations, int maxExpand, float subdivideEdgeLen, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback);
146
149
152
156
159
162
167
175
182
183#ifdef __cplusplus
184} // extern "C"
185#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
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:19
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
MRC_API MR_expected_void_std_string * MR_SelfIntersections_fix(MR_Mesh *mesh, const MR_SelfIntersections_Settings *settings)
MRC_API void MR_SelfIntersections_Settings_Set_callback(MR_SelfIntersections_Settings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API void MR_SelfIntersections_Settings_Set_method(MR_SelfIntersections_Settings *_this, MR_SelfIntersections_Settings_Method value)
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_AssignFromAnother(MR_SelfIntersections_Settings *_this, MR_PassBy _other_pass_by, MR_SelfIntersections_Settings *_other)
MRC_API MR_std_function_bool_from_float * MR_SelfIntersections_Settings_GetMutable_callback(MR_SelfIntersections_Settings *_this)
MRC_API void MR_SelfIntersections_Settings_Set_touchIsIntersection(MR_SelfIntersections_Settings *_this, bool value)
MRC_API const float * MR_SelfIntersections_Settings_Get_subdivideEdgeLen(const MR_SelfIntersections_Settings *_this)
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_SelfIntersections_Settings *_other)
MRC_API void MR_SelfIntersections_Settings_DestroyArray(const MR_SelfIntersections_Settings *_this)
Destroys a heap-allocated array of MR_SelfIntersections_Settings. Does nothing if the pointer is null...
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_DefaultConstructArray(size_t num_elems)
MRC_API int * MR_SelfIntersections_Settings_GetMutable_relaxIterations(MR_SelfIntersections_Settings *_this)
MR_SelfIntersections_Settings_Method
Fix method.
Definition MRFixSelfIntersections.h:25
@ MR_SelfIntersections_Settings_Method_Relax
Relax mesh around self-intersections.
Definition MRFixSelfIntersections.h:27
@ MR_SelfIntersections_Settings_Method_CutAndFill
Cut and re-fill regions around self-intersections (may fall back to Relax)
Definition MRFixSelfIntersections.h:29
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_OffsetMutablePtr(MR_SelfIntersections_Settings *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_SelfIntersections_Settings MR_SelfIntersections_Settings
Definition MRFixSelfIntersections.h:21
MRC_API float * MR_SelfIntersections_Settings_GetMutable_subdivideEdgeLen(MR_SelfIntersections_Settings *_this)
MRC_API const MR_std_function_bool_from_float * MR_SelfIntersections_Settings_Get_callback(const MR_SelfIntersections_Settings *_this)
MRC_API void MR_SelfIntersections_Settings_Set_relaxIterations(MR_SelfIntersections_Settings *_this, int value)
MRC_API const MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_OffsetPtr(const MR_SelfIntersections_Settings *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_SelfIntersections_Settings_GetMutable_maxExpand(MR_SelfIntersections_Settings *_this)
MRC_API MR_SelfIntersections_Settings_Method * MR_SelfIntersections_Settings_GetMutable_method(MR_SelfIntersections_Settings *_this)
MRC_API const int * MR_SelfIntersections_Settings_Get_maxExpand(const MR_SelfIntersections_Settings *_this)
MRC_API void MR_SelfIntersections_Settings_Set_subdivideEdgeLen(MR_SelfIntersections_Settings *_this, float value)
MRC_API void MR_SelfIntersections_Settings_Destroy(const MR_SelfIntersections_Settings *_this)
Destroys a heap-allocated instance of MR_SelfIntersections_Settings. Does nothing if the pointer is n...
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_SelfIntersections_getFaces(const MR_Mesh *mesh, const bool *touchIsIntersection, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_SelfIntersections_Settings_Method * MR_SelfIntersections_Settings_Get_method(const MR_SelfIntersections_Settings *_this)
MRC_API void MR_SelfIntersections_Settings_Set_maxExpand(MR_SelfIntersections_Settings *_this, int value)
MRC_API const bool * MR_SelfIntersections_Settings_Get_touchIsIntersection(const MR_SelfIntersections_Settings *_this)
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_DefaultConstruct(void)
MRC_API MR_SelfIntersections_Settings * MR_SelfIntersections_Settings_ConstructFrom(bool touchIsIntersection, MR_SelfIntersections_Settings_Method method, int relaxIterations, int maxExpand, float subdivideEdgeLen, MR_PassBy callback_pass_by, MR_std_function_bool_from_float *callback)
MRC_API bool * MR_SelfIntersections_Settings_GetMutable_touchIsIntersection(MR_SelfIntersections_Settings *_this)
MRC_API const int * MR_SelfIntersections_Settings_Get_relaxIterations(const MR_SelfIntersections_Settings *_this)
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11