MeshLib C Docs
Loading...
Searching...
No Matches
MRUniteManyMeshes.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_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
14typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
15typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_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>`.
17typedef struct MR_std_vector_MR_Mesh_ptr MR_std_vector_MR_Mesh_ptr; // Defined in `#include <MRCMisc/std_vector_MR_Mesh_ptr.h>`.
18typedef struct MR_std_vector_const_MR_Mesh_ptr MR_std_vector_const_MR_Mesh_ptr; // Defined in `#include <MRCMisc/std_vector_const_MR_Mesh_ptr.h>`.
19
20
31
36
42
49
55
62
71
79
88
96
103
111
118
125
132
139
146
153
161
169
177
184
190
197
207
216
226
232
238
244
248
253
261MRC_API MR_UniteManyMeshesParams *MR_UniteManyMeshesParams_ConstructFrom(bool useRandomShifts, bool fixDegenerations, float maxAllowedError, unsigned int randomShiftsSeed, MR_FaceBitSet *newFaces, MR_NestedComponenetsMode nestedComponentsMode, bool mergeOnFail, bool forceCut, MR_PassBy progressCb_pass_by, MR_std_function_bool_from_float *progressCb);
262
266
270
275
278
281
288
298
305
311
318
325
331
338
347
355
364
368
373
377MRC_API MR_UniteMeshNormalizationParams *MR_UniteMeshNormalizationParams_ConstructFrom(float expansionRatio, bool flipInverted, bool trySelfBoolean);
378
382
386
392
395
398
406
419
433
434#ifdef __cplusplus
435} // extern "C"
436#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:24
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
MRC_API const float * MR_UniteManyMeshesParams_Get_maxAllowedError(const MR_UniteManyMeshesParams *_this)
MRC_API bool * MR_UniteManyMeshesParams_GetMutable_fixDegenerations(MR_UniteManyMeshesParams *_this)
MRC_API const MR_std_function_bool_from_float * MR_UniteManyMeshesParams_Get_progressCb(const MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteManyMeshesParams_Set_forceCut(MR_UniteManyMeshesParams *_this, bool value)
MRC_API bool * MR_UniteManyMeshesParams_GetMutable_useRandomShifts(MR_UniteManyMeshesParams *_this)
MRC_API const bool * MR_UniteMeshNormalizationParams_Get_trySelfBoolean(const MR_UniteMeshNormalizationParams *_this)
MRC_API float * MR_UniteMeshNormalizationParams_GetMutable_expansionRatio(MR_UniteMeshNormalizationParams *_this)
MRC_API void MR_UniteMeshNormalizationParams_Set_trySelfBoolean(MR_UniteMeshNormalizationParams *_this, bool value)
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_AssignFromAnother(MR_UniteManyMeshesParams *_this, MR_PassBy _other_pass_by, MR_UniteManyMeshesParams *_other)
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_OffsetMutablePtr(MR_UniteManyMeshesParams *ptr, ptrdiff_t i)
struct MR_UniteMeshNormalizationParams MR_UniteMeshNormalizationParams
Definition MRUniteManyMeshes.h:41
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_OffsetMutablePtr(MR_UniteMeshNormalizationParams *ptr, ptrdiff_t i)
MRC_API unsigned int * MR_UniteManyMeshesParams_GetMutable_randomShiftsSeed(MR_UniteManyMeshesParams *_this)
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_UniteManyMeshesParams *_other)
MR_NestedComponenetsMode
Mode of processing components.
Definition MRUniteManyMeshes.h:23
@ MR_NestedComponenetsMode_Remove
Default: separate nested meshes and remove them, just like union operation should do,...
Definition MRUniteManyMeshes.h:25
@ MR_NestedComponenetsMode_Merge
does not separate components and call union for all input meshes, works slower than Remove and Merge ...
Definition MRUniteManyMeshes.h:27
@ MR_NestedComponenetsMode_Union
Definition MRUniteManyMeshes.h:29
MRC_API const bool * MR_UniteManyMeshesParams_Get_mergeOnFail(const MR_UniteManyMeshesParams *_this)
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_ConstructFromAnother(const MR_UniteMeshNormalizationParams *_other)
MRC_API bool * MR_UniteManyMeshesParams_GetMutable_mergeOnFail(MR_UniteManyMeshesParams *_this)
MRC_API const float * MR_UniteMeshNormalizationParams_Get_expansionRatio(const MR_UniteMeshNormalizationParams *_this)
MRC_API bool * MR_UniteManyMeshesParams_GetMutable_forceCut(MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteManyMeshesParams_Set_fixDegenerations(MR_UniteManyMeshesParams *_this, bool value)
MRC_API const unsigned int * MR_UniteManyMeshesParams_Get_randomShiftsSeed(const MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteMeshNormalizationParams_Set_expansionRatio(MR_UniteMeshNormalizationParams *_this, float value)
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_DefaultConstruct(void)
MRC_API void MR_UniteMeshNormalizationParams_DestroyArray(const MR_UniteMeshNormalizationParams *_this)
Destroys a heap-allocated array of MR_UniteMeshNormalizationParams. Does nothing if the pointer is nu...
MRC_API void MR_UniteManyMeshesParams_Set_nestedComponentsMode(MR_UniteManyMeshesParams *_this, MR_NestedComponenetsMode value)
struct MR_UniteManyMeshesParams MR_UniteManyMeshesParams
Definition MRUniteManyMeshes.h:35
MRC_API const bool * MR_UniteManyMeshesParams_Get_forceCut(const MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteManyMeshesParams_Set_useRandomShifts(MR_UniteManyMeshesParams *_this, bool value)
MRC_API const bool * MR_UniteManyMeshesParams_Get_useRandomShifts(const MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteManyMeshesParams_Set_mergeOnFail(MR_UniteManyMeshesParams *_this, bool value)
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_AssignFromAnother(MR_UniteMeshNormalizationParams *_this, const MR_UniteMeshNormalizationParams *_other)
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_ConstructFrom(bool useRandomShifts, bool fixDegenerations, float maxAllowedError, unsigned int randomShiftsSeed, MR_FaceBitSet *newFaces, MR_NestedComponenetsMode nestedComponentsMode, bool mergeOnFail, bool forceCut, MR_PassBy progressCb_pass_by, MR_std_function_bool_from_float *progressCb)
MRC_API void MR_UniteManyMeshesParams_Set_progressCb(MR_UniteManyMeshesParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_FaceBitSet ** MR_UniteManyMeshesParams_GetMutable_newFaces(MR_UniteManyMeshesParams *_this)
MRC_API float * MR_UniteManyMeshesParams_GetMutable_maxAllowedError(MR_UniteManyMeshesParams *_this)
MRC_API MR_std_function_bool_from_float * MR_UniteManyMeshesParams_GetMutable_progressCb(MR_UniteManyMeshesParams *_this)
MRC_API const MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_OffsetPtr(const MR_UniteMeshNormalizationParams *ptr, ptrdiff_t i)
MRC_API const MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_OffsetPtr(const MR_UniteManyMeshesParams *ptr, ptrdiff_t i)
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_DefaultConstructArray(size_t num_elems)
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_ConstructFrom(float expansionRatio, bool flipInverted, bool trySelfBoolean)
MRC_API MR_expected_MR_Mesh_std_string * MR_uniteComponents(const MR_Mesh *mesh, const MR_UniteManyMeshesParams *params, const MR_UniteMeshNormalizationParams *normalizeParams)
MRC_API void MR_UniteManyMeshesParams_Set_maxAllowedError(MR_UniteManyMeshesParams *_this, float value)
struct MR_std_vector_MR_Mesh_ptr MR_std_vector_MR_Mesh_ptr
Definition MRUniteManyMeshes.h:17
MRC_API MR_NestedComponenetsMode * MR_UniteManyMeshesParams_GetMutable_nestedComponentsMode(MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteMeshNormalizationParams_Destroy(const MR_UniteMeshNormalizationParams *_this)
Destroys a heap-allocated instance of MR_UniteMeshNormalizationParams. Does nothing if the pointer is...
MRC_API const bool * MR_UniteManyMeshesParams_Get_fixDegenerations(const MR_UniteManyMeshesParams *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_uniteManyMeshesMutable(const MR_std_vector_MR_Mesh_ptr *meshes, const MR_UniteManyMeshesParams *params, const MR_UniteMeshNormalizationParams *normalizeParams)
MRC_API void MR_UniteManyMeshesParams_Set_randomShiftsSeed(MR_UniteManyMeshesParams *_this, unsigned int value)
MRC_API bool * MR_UniteMeshNormalizationParams_GetMutable_flipInverted(MR_UniteMeshNormalizationParams *_this)
MRC_API void MR_UniteManyMeshesParams_Destroy(const MR_UniteManyMeshesParams *_this)
Destroys a heap-allocated instance of MR_UniteManyMeshesParams. Does nothing if the pointer is null.
MRC_API MR_UniteMeshNormalizationParams * MR_UniteMeshNormalizationParams_DefaultConstructArray(size_t num_elems)
MRC_API const MR_NestedComponenetsMode * MR_UniteManyMeshesParams_Get_nestedComponentsMode(const MR_UniteManyMeshesParams *_this)
MRC_API bool * MR_UniteMeshNormalizationParams_GetMutable_trySelfBoolean(MR_UniteMeshNormalizationParams *_this)
struct MR_std_vector_const_MR_Mesh_ptr MR_std_vector_const_MR_Mesh_ptr
Definition MRUniteManyMeshes.h:18
MRC_API MR_UniteManyMeshesParams * MR_UniteManyMeshesParams_DefaultConstruct(void)
MRC_API void MR_UniteManyMeshesParams_DestroyArray(const MR_UniteManyMeshesParams *_this)
Destroys a heap-allocated array of MR_UniteManyMeshesParams. Does nothing if the pointer is null.
MRC_API MR_expected_MR_Mesh_std_string * MR_uniteManyMeshes(const MR_std_vector_const_MR_Mesh_ptr *meshes, const MR_UniteManyMeshesParams *params)
MRC_API MR_FaceBitSet *const * MR_UniteManyMeshesParams_Get_newFaces(const MR_UniteManyMeshesParams *_this)
MRC_API void MR_UniteMeshNormalizationParams_Set_flipInverted(MR_UniteMeshNormalizationParams *_this, bool value)
MRC_API void MR_UniteManyMeshesParams_Set_newFaces(MR_UniteManyMeshesParams *_this, MR_FaceBitSet *value)
MRC_API const bool * MR_UniteMeshNormalizationParams_Get_flipInverted(const MR_UniteMeshNormalizationParams *_this)
MR_PassBy
Definition common.h:13
#define MRC_API
Definition include/MRCMisc/exports.h:11