MeshLib C Docs
Loading...
Searching...
No Matches
MRVDBConversions.h
Go to the documentation of this file.
1#pragma once
2
4#include <MRCMesh/MRBox.h>
5#include <MRCMesh/MRVector3.h>
6#include <MRCMisc/common.h>
7#include <MRCMisc/exports.h>
8
9#include <stdbool.h>
10#include <stddef.h>
11#include <stdint.h>
12
13#ifdef __cplusplus
14extern "C" {
15#endif
16
17typedef struct MR_Box3i MR_Box3i; // Defined in `#include <MRCMesh/MRBox.h>`.
18typedef struct MR_FloatGrid MR_FloatGrid; // Defined in `#include <MRCVoxels/MRFloatGrid.h>`.
19typedef struct MR_FunctionVolume MR_FunctionVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
20typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
21typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
22typedef struct MR_SimpleVolume MR_SimpleVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
23typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
24typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
25typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
26typedef struct MR_expected_MR_SimpleVolumeMinMaxU16_std_string MR_expected_MR_SimpleVolumeMinMaxU16_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleVolumeMinMaxU16_std_string.h>`.
27typedef struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleVolumeMinMax_std_string.h>`.
28typedef struct MR_expected_MR_VdbVolume_std_string MR_expected_MR_VdbVolume_std_string; // Defined in `#include <MRCMisc/expected_MR_VdbVolume_std_string.h>`.
29typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
30typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
31typedef struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber; // Defined in `#include <MRCMisc/std_shared_ptr_MR_IFastWindingNumber.h>`.
32
33
34// Parameters structure for meshToVolume function
37
38// Conversion type
40enum // MR_MeshToVolumeParams_Type
41{
42 // only closed meshes can be converted with signed type
44 // this type leads to shell like iso-surfaces
46};
47
51
54
57
58// closed surface is required
59// surfaceOffset - number voxels around surface to calculate distance in (should be positive)
60// returns null if was canceled by progress callback
68MRC_API MR_FloatGrid *MR_meshToLevelSet(const MR_MeshPart *mp, const MR_AffineXf3f *xf, const MR_Vector3f *voxelSize, const float *surfaceOffset, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
69
70// does not require closed surface, resulting grid cannot be used for boolean operations,
71// surfaceOffset - the number of voxels around surface to calculate distance in (should be positive)
72// returns null if was canceled by progress callback
80MRC_API MR_FloatGrid *MR_meshToDistanceField(const MR_MeshPart *mp, const MR_AffineXf3f *xf, const MR_Vector3f *voxelSize, const float *surfaceOffset, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
81
86
90
95
96// the number of voxels around surface to calculate distance in (should be positive)
101
102// the number of voxels around surface to calculate distance in (should be positive)
106
107// the number of voxels around surface to calculate distance in (should be positive)
112
117
121
126
127// mesh initial transform
132
133// mesh initial transform
137
138// mesh initial transform
143
144// optional output: xf to original mesh (respecting worldXf)
149
150// optional output: xf to original mesh (respecting worldXf)
154
155// optional output: xf to original mesh (respecting worldXf)
160
165
169
174
178
183
187
190
193
197
200
203
208
209// eval min max value from FloatGrid
214MRC_API void MR_evalGridMinMax(const MR_FloatGrid *grid, float *min, float *max);
215
225
236
237// fills VdbVolume data from FloatGrid (does not fill voxels size, cause we expect it outside)
241
242// make FloatGrid from SimpleVolume
243// make copy of data
244// background - the new background value for FloatGrid
245// grid can be used to make iso-surface later with gridToMesh function
251MRC_API MR_FloatGrid *MR_simpleVolumeToDenseGrid(const MR_SimpleVolume *simpleVolume, const float *background, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
252
253// set the simpleVolume.min as the background value
259
260// make VdbVolume from FunctionVolume
261// make copy of data
262// set minimum value as the background value
268
269// make SimpleVolume from VdbVolume
270// make copy of data
278
293
308
314
319
325
331
336
342
348
353
359
365
370
376
382
387
393
398
402
407
413
418
424
428
433
436MRC_API MR_GridToMeshSettings *MR_GridToMeshSettings_ConstructFrom(MR_Vector3f voxelSize, float isoValue, float adaptivity, int32_t maxFaces, int32_t maxVertices, bool relaxDisorientedTriangles, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
437
440
443
447
450
453
458
465
475
481
486
492
498
503
509
516
522
529
535
540
546
552
557
563
567
572
576
579
582
586
589
592
597
606
612
617
623
629
634
640
646
651
657
663
668
674
680
685
691
698
704
711
717
722
728
734
739
745
749
754
757MRC_API MR_DoubleOffsetSettings *MR_DoubleOffsetSettings_ConstructFrom(float voxelSize, float offsetA, float offsetB, float adaptivity, MR_PassBy fwn_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *fwn, float windingNumberThreshold, float windingNumberBeta, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress);
758
761
764
768
771
774
779
787
788#ifdef __cplusplus
789} // extern "C"
790#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
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:19
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:17
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:20
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:18
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
MRC_API void MR_DoubleOffsetSettings_DestroyArray(const MR_DoubleOffsetSettings *_this)
Destroys a heap-allocated array of MR_DoubleOffsetSettings. Does nothing if the pointer is null.
MRC_API void MR_MeshToVolumeParams_Set_type(MR_MeshToVolumeParams *_this, MR_MeshToVolumeParams_Type value)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_ConstructFrom(MR_AffineXf3f meshToGridXf, MR_PassBy fwn_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *fwn, float windingNumberThreshold, float windingNumberBeta, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress)
MRC_API const MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_OffsetPtr(const MR_DoubleOffsetSettings *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_MeshToVolumeParams * MR_MeshToVolumeParams_OffsetPtr(const MR_MeshToVolumeParams *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_DoubleOffsetSettings_Set_offsetB(MR_DoubleOffsetSettings *_this, float value)
MRC_API const MR_std_shared_ptr_MR_IFastWindingNumber * MR_DoubleOffsetSettings_Get_fwn(const MR_DoubleOffsetSettings *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_gridToMesh_MR_FloatGrid_rvalue_ref(MR_FloatGrid *grid, const MR_GridToMeshSettings *settings)
MRC_API MR_AffineXf3f * MR_MeshToVolumeParams_GetMutable_worldXf(MR_MeshToVolumeParams *_this)
MRC_API void MR_GridToMeshSettings_Set_cb(MR_GridToMeshSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_AssignFromAnother(MR_MakeSignedByWindingNumberSettings *_this, MR_PassBy _other_pass_by, MR_MakeSignedByWindingNumberSettings *_other)
MRC_API MR_expected_MR_VdbVolume_std_string * MR_meshToDistanceVdbVolume(const MR_MeshPart *mp, const MR_MeshToVolumeParams *params)
MRC_API MR_FloatGrid * MR_meshToDistanceField(const MR_MeshPart *mp, const MR_AffineXf3f *xf, const MR_Vector3f *voxelSize, const float *surfaceOffset, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_std_shared_ptr_MR_IFastWindingNumber * MR_DoubleOffsetSettings_GetMutable_fwn(MR_DoubleOffsetSettings *_this)
MRC_API float * MR_GridToMeshSettings_GetMutable_isoValue(MR_GridToMeshSettings *_this)
MRC_API void MR_MakeSignedByWindingNumberSettings_Set_meshToGridXf(MR_MakeSignedByWindingNumberSettings *_this, MR_AffineXf3f value)
MRC_API MR_std_function_bool_from_float * MR_MeshToVolumeParams_GetMutable_cb(MR_MeshToVolumeParams *_this)
MRC_API void MR_MeshToVolumeParams_Set_worldXf(MR_MeshToVolumeParams *_this, MR_AffineXf3f value)
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_DefaultConstructArray(size_t num_elems)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_voxelSize(MR_DoubleOffsetSettings *_this)
MRC_API MR_std_function_bool_from_float * MR_MakeSignedByWindingNumberSettings_GetMutable_progress(MR_MakeSignedByWindingNumberSettings *_this)
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_AssignFromAnother(MR_MeshToVolumeParams *_this, MR_PassBy _other_pass_by, MR_MeshToVolumeParams *_other)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_windingNumberThreshold(MR_DoubleOffsetSettings *_this)
MRC_API const MR_Vector3f * MR_GridToMeshSettings_Get_voxelSize(const MR_GridToMeshSettings *_this)
MRC_API float * MR_MakeSignedByWindingNumberSettings_GetMutable_windingNumberThreshold(MR_MakeSignedByWindingNumberSettings *_this)
MRC_API MR_expected_MR_SimpleVolumeMinMax_std_string * MR_vdbVolumeToSimpleVolume(const MR_VdbVolume *vdbVolume, const MR_Box3i *activeBox, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_offsetB(MR_DoubleOffsetSettings *_this)
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_expected_MR_Mesh_std_string * MR_doubleOffsetVdb(const MR_MeshPart *mp, const MR_DoubleOffsetSettings *settings)
MRC_API void MR_MeshToVolumeParams_Set_voxelSize(MR_MeshToVolumeParams *_this, MR_Vector3f value)
MRC_API const float * MR_DoubleOffsetSettings_Get_windingNumberThreshold(const MR_DoubleOffsetSettings *_this)
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_ConstructFrom(MR_MeshToVolumeParams_Type type, float surfaceOffset, MR_Vector3f voxelSize, MR_AffineXf3f worldXf, MR_AffineXf3f *outXf, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_ConstructFrom(float voxelSize, float offsetA, float offsetB, float adaptivity, MR_PassBy fwn_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *fwn, float windingNumberThreshold, float windingNumberBeta, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress)
MRC_API const int32_t * MR_GridToMeshSettings_Get_maxFaces(const MR_GridToMeshSettings *_this)
MRC_API void MR_MeshToVolumeParams_Set_cb(MR_MeshToVolumeParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API const float * MR_DoubleOffsetSettings_Get_offsetA(const MR_DoubleOffsetSettings *_this)
struct MR_MeshToVolumeParams MR_MeshToVolumeParams
Generated from class MR::MeshToVolumeParams.
Definition MRVDBConversions.h:36
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_OffsetMutablePtr(MR_DoubleOffsetSettings *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_AffineXf3f *const * MR_MeshToVolumeParams_Get_outXf(const MR_MeshToVolumeParams *_this)
MRC_API MR_AffineXf3f * MR_MakeSignedByWindingNumberSettings_GetMutable_meshToGridXf(MR_MakeSignedByWindingNumberSettings *_this)
MRC_API void MR_GridToMeshSettings_Set_isoValue(MR_GridToMeshSettings *_this, float value)
MRC_API void MR_MakeSignedByWindingNumberSettings_Set_fwn(MR_MakeSignedByWindingNumberSettings *_this, MR_PassBy value_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *value)
MRC_API const float * MR_GridToMeshSettings_Get_adaptivity(const MR_GridToMeshSettings *_this)
@ MR_MeshToVolumeParams_Type_Signed
Definition MRVDBConversions.h:43
@ MR_MeshToVolumeParams_Type_Unsigned
Definition MRVDBConversions.h:45
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_DefaultConstruct(void)
MRC_API const float * MR_DoubleOffsetSettings_Get_voxelSize(const MR_DoubleOffsetSettings *_this)
MRC_API void MR_MeshToVolumeParams_DestroyArray(const MR_MeshToVolumeParams *_this)
Destroys a heap-allocated array of MR_MeshToVolumeParams. Does nothing if the pointer is null.
MRC_API const MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_OffsetPtr(const MR_MakeSignedByWindingNumberSettings *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_MeshToVolumeParams_Type * MR_MeshToVolumeParams_GetMutable_type(MR_MeshToVolumeParams *_this)
MRC_API MR_Vector3f * MR_GridToMeshSettings_GetMutable_voxelSize(MR_GridToMeshSettings *_this)
MRC_API int32_t * MR_GridToMeshSettings_GetMutable_maxVertices(MR_GridToMeshSettings *_this)
MRC_API void MR_DoubleOffsetSettings_Set_voxelSize(MR_DoubleOffsetSettings *_this, float value)
MRC_API MR_FloatGrid * MR_simpleVolumeToDenseGrid(const MR_SimpleVolume *simpleVolume, const float *background, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_windingNumberBeta(MR_DoubleOffsetSettings *_this)
MRC_API const MR_std_function_bool_from_float * MR_MakeSignedByWindingNumberSettings_Get_progress(const MR_MakeSignedByWindingNumberSettings *_this)
MRC_API const float * MR_DoubleOffsetSettings_Get_adaptivity(const MR_DoubleOffsetSettings *_this)
MRC_API const bool * MR_GridToMeshSettings_Get_relaxDisorientedTriangles(const MR_GridToMeshSettings *_this)
MRC_API void MR_MakeSignedByWindingNumberSettings_Destroy(const MR_MakeSignedByWindingNumberSettings *_this)
Destroys a heap-allocated instance of MR_MakeSignedByWindingNumberSettings. Does nothing if the point...
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_GridToMeshSettings *_other)
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshToVolumeParams *_other)
MRC_API float * MR_MakeSignedByWindingNumberSettings_GetMutable_windingNumberBeta(MR_MakeSignedByWindingNumberSettings *_this)
MRC_API void MR_DoubleOffsetSettings_Set_windingNumberBeta(MR_DoubleOffsetSettings *_this, float value)
MRC_API void MR_GridToMeshSettings_Destroy(const MR_GridToMeshSettings *_this)
Destroys a heap-allocated instance of MR_GridToMeshSettings. Does nothing if the pointer is null.
MRC_API MR_FloatGrid * MR_meshToLevelSet(const MR_MeshPart *mp, const MR_AffineXf3f *xf, const MR_Vector3f *voxelSize, const float *surfaceOffset, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API const MR_Vector3f * MR_MeshToVolumeParams_Get_voxelSize(const MR_MeshToVolumeParams *_this)
MRC_API void MR_MeshToVolumeParams_Set_outXf(MR_MeshToVolumeParams *_this, MR_AffineXf3f *value)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_adaptivity(MR_DoubleOffsetSettings *_this)
MRC_API void MR_MakeSignedByWindingNumberSettings_Set_windingNumberThreshold(MR_MakeSignedByWindingNumberSettings *_this, float value)
MRC_API void MR_DoubleOffsetSettings_Set_adaptivity(MR_DoubleOffsetSettings *_this, float value)
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_DefaultConstructArray(size_t num_elems)
MRC_API void MR_GridToMeshSettings_DestroyArray(const MR_GridToMeshSettings *_this)
Destroys a heap-allocated array of MR_GridToMeshSettings. Does nothing if the pointer is null.
MRC_API const int32_t * MR_GridToMeshSettings_Get_maxVertices(const MR_GridToMeshSettings *_this)
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_OffsetMutablePtr(MR_GridToMeshSettings *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_AffineXf3f * MR_MeshToVolumeParams_Get_worldXf(const MR_MeshToVolumeParams *_this)
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_ConstructFrom(MR_Vector3f voxelSize, float isoValue, float adaptivity, int32_t maxFaces, int32_t maxVertices, bool relaxDisorientedTriangles, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_DoubleOffsetSettings_Destroy(const MR_DoubleOffsetSettings *_this)
Destroys a heap-allocated instance of MR_DoubleOffsetSettings. Does nothing if the pointer is null.
struct MR_GridToMeshSettings MR_GridToMeshSettings
Definition MRVDBConversions.h:50
MRC_API void MR_GridToMeshSettings_Set_relaxDisorientedTriangles(MR_GridToMeshSettings *_this, bool value)
MRC_API const float * MR_MakeSignedByWindingNumberSettings_Get_windingNumberBeta(const MR_MakeSignedByWindingNumberSettings *_this)
MRC_API const MR_GridToMeshSettings * MR_GridToMeshSettings_OffsetPtr(const MR_GridToMeshSettings *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_VdbVolume * MR_floatGridToVdbVolume(MR_PassBy grid_pass_by, MR_FloatGrid *grid)
MRC_API int32_t * MR_GridToMeshSettings_GetMutable_maxFaces(MR_GridToMeshSettings *_this)
MRC_API void MR_GridToMeshSettings_Set_maxFaces(MR_GridToMeshSettings *_this, int32_t value)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_OffsetMutablePtr(MR_MakeSignedByWindingNumberSettings *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_DoubleOffsetSettings_Set_offsetA(MR_DoubleOffsetSettings *_this, float value)
MRC_API MR_expected_void_std_string * MR_makeSignedByWindingNumber(MR_FloatGrid *grid, const MR_Vector3f *voxelSize, const MR_Mesh *refMesh, const MR_MakeSignedByWindingNumberSettings *settings)
MRC_API void MR_MeshToVolumeParams_Set_surfaceOffset(MR_MeshToVolumeParams *_this, float value)
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_DefaultConstruct(void)
MRC_API MR_expected_MR_SimpleVolumeMinMaxU16_std_string * MR_vdbVolumeToSimpleVolumeU16(const MR_VdbVolume *vdbVolume, const MR_Box3i *activeBox, const MR_Box1f *sourceScale, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_Mesh_std_string * MR_gridToMesh_const_MR_FloatGrid_ref(const MR_FloatGrid *grid, const MR_GridToMeshSettings *settings)
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_AssignFromAnother(MR_GridToMeshSettings *_this, MR_PassBy _other_pass_by, MR_GridToMeshSettings *_other)
MRC_API const MR_std_function_bool_from_float * MR_DoubleOffsetSettings_Get_progress(const MR_DoubleOffsetSettings *_this)
MRC_API MR_std_shared_ptr_MR_IFastWindingNumber * MR_MakeSignedByWindingNumberSettings_GetMutable_fwn(MR_MakeSignedByWindingNumberSettings *_this)
MRC_API MR_std_function_bool_from_float * MR_DoubleOffsetSettings_GetMutable_progress(MR_DoubleOffsetSettings *_this)
MRC_API const MR_AffineXf3f * MR_MakeSignedByWindingNumberSettings_Get_meshToGridXf(const MR_MakeSignedByWindingNumberSettings *_this)
struct MR_MakeSignedByWindingNumberSettings MR_MakeSignedByWindingNumberSettings
Generated from class MR::MakeSignedByWindingNumberSettings.
Definition MRVDBConversions.h:53
MRC_API const MR_MeshToVolumeParams_Type * MR_MeshToVolumeParams_Get_type(const MR_MeshToVolumeParams *_this)
int32_t MR_MeshToVolumeParams_Type
Definition MRVDBConversions.h:39
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3f * MR_MeshToVolumeParams_GetMutable_voxelSize(MR_MeshToVolumeParams *_this)
MRC_API void MR_GridToMeshSettings_Set_maxVertices(MR_GridToMeshSettings *_this, int32_t value)
MRC_API const MR_std_function_bool_from_float * MR_MeshToVolumeParams_Get_cb(const MR_MeshToVolumeParams *_this)
MRC_API void MR_DoubleOffsetSettings_Set_windingNumberThreshold(MR_DoubleOffsetSettings *_this, float value)
MRC_API float * MR_DoubleOffsetSettings_GetMutable_offsetA(MR_DoubleOffsetSettings *_this)
MRC_API void MR_evalGridMinMax(const MR_FloatGrid *grid, float *min, float *max)
MRC_API MR_GridToMeshSettings * MR_GridToMeshSettings_DefaultConstruct(void)
MRC_API const MR_std_shared_ptr_MR_IFastWindingNumber * MR_MakeSignedByWindingNumberSettings_Get_fwn(const MR_MakeSignedByWindingNumberSettings *_this)
MRC_API void MR_MeshToVolumeParams_Destroy(const MR_MeshToVolumeParams *_this)
Destroys a heap-allocated instance of MR_MeshToVolumeParams. Does nothing if the pointer is null.
MRC_API MR_VdbVolume * MR_functionVolumeToVdbVolume(const MR_FunctionVolume *functoinVolume, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_std_function_bool_from_float * MR_GridToMeshSettings_GetMutable_cb(MR_GridToMeshSettings *_this)
MRC_API void MR_DoubleOffsetSettings_Set_fwn(MR_DoubleOffsetSettings *_this, MR_PassBy value_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *value)
MRC_API void MR_MakeSignedByWindingNumberSettings_Set_progress(MR_MakeSignedByWindingNumberSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API const float * MR_MakeSignedByWindingNumberSettings_Get_windingNumberThreshold(const MR_MakeSignedByWindingNumberSettings *_this)
MRC_API MR_expected_MR_SimpleVolumeMinMax_std_string * MR_vdbVolumeToSimpleVolumeNorm(const MR_VdbVolume *vdbVolume, const MR_Box3i *activeBox, const MR_Box1f *sourceScale, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API void MR_GridToMeshSettings_Set_voxelSize(MR_GridToMeshSettings *_this, MR_Vector3f value)
struct MR_DoubleOffsetSettings MR_DoubleOffsetSettings
Generated from class MR::DoubleOffsetSettings.
Definition MRVDBConversions.h:56
MRC_API const float * MR_DoubleOffsetSettings_Get_windingNumberBeta(const MR_DoubleOffsetSettings *_this)
MRC_API void MR_MakeSignedByWindingNumberSettings_DestroyArray(const MR_MakeSignedByWindingNumberSettings *_this)
Destroys a heap-allocated array of MR_MakeSignedByWindingNumberSettings. Does nothing if the pointer ...
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_DefaultConstruct(void)
MRC_API float * MR_GridToMeshSettings_GetMutable_adaptivity(MR_GridToMeshSettings *_this)
MRC_API void MR_DoubleOffsetSettings_Set_progress(MR_DoubleOffsetSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API bool * MR_GridToMeshSettings_GetMutable_relaxDisorientedTriangles(MR_GridToMeshSettings *_this)
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_AssignFromAnother(MR_DoubleOffsetSettings *_this, MR_PassBy _other_pass_by, MR_DoubleOffsetSettings *_other)
MRC_API const MR_std_function_bool_from_float * MR_GridToMeshSettings_Get_cb(const MR_GridToMeshSettings *_this)
MRC_API MR_VdbVolume * MR_simpleVolumeToVdbVolume(const MR_SimpleVolumeMinMax *simpleVolume, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
MRC_API MR_expected_MR_VdbVolume_std_string * MR_meshToVolume(const MR_MeshPart *mp, const MR_MeshToVolumeParams *params)
MRC_API const float * MR_DoubleOffsetSettings_Get_offsetB(const MR_DoubleOffsetSettings *_this)
MRC_API MR_AffineXf3f ** MR_MeshToVolumeParams_GetMutable_outXf(MR_MeshToVolumeParams *_this)
MRC_API float * MR_MeshToVolumeParams_GetMutable_surfaceOffset(MR_MeshToVolumeParams *_this)
MRC_API const float * MR_GridToMeshSettings_Get_isoValue(const MR_GridToMeshSettings *_this)
MRC_API const float * MR_MeshToVolumeParams_Get_surfaceOffset(const MR_MeshToVolumeParams *_this)
MRC_API void MR_MakeSignedByWindingNumberSettings_Set_windingNumberBeta(MR_MakeSignedByWindingNumberSettings *_this, float value)
MRC_API MR_MeshToVolumeParams * MR_MeshToVolumeParams_OffsetMutablePtr(MR_MeshToVolumeParams *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_DoubleOffsetSettings * MR_DoubleOffsetSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DoubleOffsetSettings *_other)
MRC_API void MR_GridToMeshSettings_Set_adaptivity(MR_GridToMeshSettings *_this, float value)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MakeSignedByWindingNumberSettings *_other)
MR_PassBy
Definition common.h:19
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:12
struct MR_FunctionVolume MR_FunctionVolume
Definition expected_MR_FunctionVolume_std_string.h:12
struct MR_expected_MR_SimpleVolumeMinMaxU16_std_string MR_expected_MR_SimpleVolumeMinMaxU16_std_string
Definition expected_MR_SimpleVolumeMinMaxU16_std_string.h:18
struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string
Definition expected_MR_SimpleVolumeMinMax_std_string.h:18
struct MR_SimpleVolume MR_SimpleVolume
Definition expected_MR_SimpleVolume_std_string.h:12
struct MR_expected_MR_VdbVolume_std_string MR_expected_MR_VdbVolume_std_string
Definition expected_MR_VdbVolume_std_string.h:18
#define MRC_API
Definition exports.h:11
struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber
Definition std_shared_ptr_MR_IFastWindingNumber.h:17
Definition MRAffineXf.h:36
Definition MRBox.h:45
Definition MRBox.h:93
Definition MRVector3.h:51