MeshLib C Docs
Loading...
Searching...
No Matches
MRBoolean.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 <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
13typedef struct MR_FloatGrid MR_FloatGrid; // Defined in `#include <MRCVoxels/MRFloatGrid.h>`.
14typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
15typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
16typedef struct MR_ObjectMesh MR_ObjectMesh; // Defined in `#include <MRCMesh/MRObjectMesh.h>`.
17typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
18
19
20// converter of meshes in or from signed distance volumetric representation
24
25// both in and from
30
31// both in and from
36
37// both in and from
42
43// number voxels around surface to calculate distance in (should be positive)
48
49// number voxels around surface to calculate distance in (should be positive)
54
55// number voxels around surface to calculate distance in (should be positive)
60
65
71
76
77// the value is in voxels (not in meters!), 0 for no-offset
82
83// the value is in voxels (not in meters!), 0 for no-offset
88
89// the value is in voxels (not in meters!), 0 for no-offset
94
95// [0, 1] ratio of combining small triangles into bigger ones
100
101// [0, 1] ratio of combining small triangles into bigger ones
106
107// [0, 1] ratio of combining small triangles into bigger ones
112
116
121
126MRC_API MR_MeshVoxelsConverter *MR_MeshVoxelsConverter_ConstructFrom(float voxelSize, float surfaceOffset, MR_PassBy callBack_pass_by, MR_std_function_bool_from_float *callBack, float offsetVoxels, float adaptivity);
127
131
135
140
143
146
153
161
167
173
174#ifdef __cplusplus
175} // extern "C"
176#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
MRC_API const MR_std_function_bool_from_float * MR_MeshVoxelsConverter_Get_callBack(const MR_MeshVoxelsConverter *_this)
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_DefaultConstruct(void)
MRC_API void MR_MeshVoxelsConverter_Set_offsetVoxels(MR_MeshVoxelsConverter *_this, float value)
MRC_API const float * MR_MeshVoxelsConverter_Get_surfaceOffset(const MR_MeshVoxelsConverter *_this)
MRC_API void MR_MeshVoxelsConverter_Set_voxelSize(MR_MeshVoxelsConverter *_this, float value)
MRC_API void MR_MeshVoxelsConverter_Set_surfaceOffset(MR_MeshVoxelsConverter *_this, float value)
MRC_API void MR_MeshVoxelsConverter_DestroyArray(const MR_MeshVoxelsConverter *_this)
Destroys a heap-allocated array of MR_MeshVoxelsConverter. Does nothing if the pointer is null.
MRC_API const float * MR_MeshVoxelsConverter_Get_offsetVoxels(const MR_MeshVoxelsConverter *_this)
MRC_API const float * MR_MeshVoxelsConverter_Get_adaptivity(const MR_MeshVoxelsConverter *_this)
MRC_API float * MR_MeshVoxelsConverter_GetMutable_offsetVoxels(MR_MeshVoxelsConverter *_this)
MRC_API void MR_MeshVoxelsConverter_Set_callBack(MR_MeshVoxelsConverter *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_FloatGrid * MR_MeshVoxelsConverter_call_2(const MR_MeshVoxelsConverter *_this, const MR_MeshPart *mp, const MR_AffineXf3f *xf)
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_OffsetMutablePtr(MR_MeshVoxelsConverter *ptr, ptrdiff_t i)
MRC_API void MR_MeshVoxelsConverter_Set_adaptivity(MR_MeshVoxelsConverter *_this, float value)
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_DefaultConstructArray(size_t num_elems)
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_ConstructFrom(float voxelSize, float surfaceOffset, MR_PassBy callBack_pass_by, MR_std_function_bool_from_float *callBack, float offsetVoxels, float adaptivity)
MRC_API float * MR_MeshVoxelsConverter_GetMutable_surfaceOffset(MR_MeshVoxelsConverter *_this)
MRC_API float * MR_MeshVoxelsConverter_GetMutable_adaptivity(MR_MeshVoxelsConverter *_this)
MRC_API MR_FloatGrid * MR_MeshVoxelsConverter_call_1_MR_ObjectMesh(const MR_MeshVoxelsConverter *_this, const MR_ObjectMesh *obj)
struct MR_MeshVoxelsConverter MR_MeshVoxelsConverter
Definition MRBoolean.h:23
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshVoxelsConverter *_other)
MRC_API const float * MR_MeshVoxelsConverter_Get_voxelSize(const MR_MeshVoxelsConverter *_this)
MRC_API float * MR_MeshVoxelsConverter_GetMutable_voxelSize(MR_MeshVoxelsConverter *_this)
MRC_API MR_std_function_bool_from_float * MR_MeshVoxelsConverter_GetMutable_callBack(MR_MeshVoxelsConverter *_this)
MRC_API void MR_MeshVoxelsConverter_Destroy(const MR_MeshVoxelsConverter *_this)
Destroys a heap-allocated instance of MR_MeshVoxelsConverter. Does nothing if the pointer is null.
MRC_API const MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_OffsetPtr(const MR_MeshVoxelsConverter *ptr, ptrdiff_t i)
MRC_API MR_Mesh * MR_MeshVoxelsConverter_call_1_MR_FloatGrid(const MR_MeshVoxelsConverter *_this, const MR_FloatGrid *grid)
MRC_API MR_MeshVoxelsConverter * MR_MeshVoxelsConverter_AssignFromAnother(MR_MeshVoxelsConverter *_this, MR_PassBy _other_pass_by, MR_MeshVoxelsConverter *_other)
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_ObjectMesh MR_ObjectMesh
Definition MRMeshBooleanFacade.h:14
MR_PassBy
Definition common.h:23
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:13
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:39