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
23
24// both in and from
29
30// both in and from
34
35// both in and from
40
41// number voxels around surface to calculate distance in (should be positive)
46
47// number voxels around surface to calculate distance in (should be positive)
51
52// number voxels around surface to calculate distance in (should be positive)
57
62
66
71
72// the value is in voxels (not in meters!), 0 for no-offset
77
78// 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// [0, 1] ratio of combining small triangles into bigger ones
94
95// [0, 1] ratio of combining small triangles into bigger ones
99
100// [0, 1] ratio of combining small triangles into bigger ones
105
109
114
117MRC_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);
118
121
124
128
131
134
139
147
153
159
160#ifdef __cplusplus
161} // extern "C"
162#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:14
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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
Generated from class MR::MeshVoxelsConverter.
Definition MRBoolean.h:22
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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:13
struct MR_ObjectMesh MR_ObjectMesh
Definition MRMeshBooleanFacade.h:14
MR_PassBy
Definition common.h:19
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:12
#define MRC_API
Definition exports.h:11
Definition MRAffineXf.h:36