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
12#ifdef __cplusplus
13extern "C" {
14#endif
15
16typedef struct MR_Box3i MR_Box3i; // Defined in `#include <MRCMesh/MRBox.h>`.
17typedef struct MR_FloatGrid MR_FloatGrid; // Defined in `#include <MRCVoxels/MRFloatGrid.h>`.
18typedef struct MR_FunctionVolume MR_FunctionVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
19typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
20typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
21typedef struct MR_SimpleVolume MR_SimpleVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
22typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
23typedef struct MR_VdbVolume MR_VdbVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
24typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
25typedef struct MR_expected_MR_SimpleVolumeMinMaxU16_std_string MR_expected_MR_SimpleVolumeMinMaxU16_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleVolumeMinMaxU16_std_string.h>`.
26typedef struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleVolumeMinMax_std_string.h>`.
27typedef struct MR_expected_MR_VdbVolume_std_string MR_expected_MR_VdbVolume_std_string; // Defined in `#include <MRCMisc/expected_MR_VdbVolume_std_string.h>`.
28typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_std_string.h>`.
29typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
30typedef struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber; // Defined in `#include <MRCMisc/std_shared_ptr_MR_IFastWindingNumber.h>`.
31
32
33// Conversion type
35{
36 // only closed meshes can be converted with signed type
38 // this type leads to shell like iso-surfaces
41
42// Parameters structure for meshToVolume function
46
51
55
59
60// closed surface is required
61// surfaceOffset - number voxels around surface to calculate distance in (should be positive)
62// returns null if was canceled by progress callback
70MRC_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);
71
72// does not require closed surface, resulting grid cannot be used for boolean operations,
73// surfaceOffset - the number of voxels around surface to calculate distance in (should be positive)
74// returns null if was canceled by progress callback
82MRC_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);
83
88
94
99
100// the number of voxels around surface to calculate distance in (should be positive)
105
106// the number of voxels around surface to calculate distance in (should be positive)
111
112// the number of voxels around surface to calculate distance in (should be positive)
117
122
128
133
134// mesh initial transform
139
140// mesh initial transform
146
147// mesh initial transform
152
153// optional output: xf to original mesh (respecting worldXf)
158
159// optional output: xf to original mesh (respecting worldXf)
165
166// optional output: xf to original mesh (respecting worldXf)
171
176
182
187
191
196
206
210
214
219
222
225
232
233// eval min max value from FloatGrid
238MRC_API void MR_evalGridMinMax(const MR_FloatGrid *grid, float *min, float *max);
239
249
260
261// fills VdbVolume data from FloatGrid (does not fill voxels size, cause we expect it outside)
265
266// make FloatGrid from SimpleVolume
267// make copy of data
268// background - the new background value for FloatGrid
269// grid can be used to make iso-surface later with gridToMesh function
275MRC_API MR_FloatGrid *MR_simpleVolumeToDenseGrid(const MR_SimpleVolume *simpleVolume, const float *background, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
276
277// set the simpleVolume.min as the background value
283
284// make VdbVolume from FunctionVolume
285// make copy of data
286// set minimum value as the background value
292
293// make SimpleVolume from VdbVolume
294// make copy of data
302
317
332
338
345
351
357
363
369
375
381
387
393
399
405
411
417
423
428
433
438
444
451
457
461
466
472MRC_API MR_GridToMeshSettings *MR_GridToMeshSettings_ConstructFrom(MR_Vector3f voxelSize, float isoValue, float adaptivity, int maxFaces, int maxVertices, bool relaxDisorientedTriangles, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
473
477
481
486
489
492
499
506
516
522
529
535
541
548
554
561
568
575
581
587
593
599
606
612
616
621
629
633
637
642
645
648
655
664
670
676
682
688
694
700
706
712
718
724
730
736
742
749
755
762
769
776
782
788
794
800
807
813
817
822
828MRC_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);
829
833
837
842
845
848
855
863
864#ifdef __cplusplus
865} // extern "C"
866#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
struct MR_VdbVolume MR_VdbVolume
Definition MRBox.h:18
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:16
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:26
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 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)
MRC_API const MR_MeshToVolumeParams * MR_MeshToVolumeParams_OffsetPtr(const MR_MeshToVolumeParams *ptr, ptrdiff_t i)
MRC_API void MR_GridToMeshSettings_Set_maxVertices(MR_GridToMeshSettings *_this, int value)
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 int * MR_GridToMeshSettings_GetMutable_maxVertices(MR_GridToMeshSettings *_this)
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 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)
MRC_API void MR_GridToMeshSettings_Set_maxFaces(MR_GridToMeshSettings *_this, int value)
struct MR_MeshToVolumeParams MR_MeshToVolumeParams
Definition MRVDBConversions.h:45
MRC_API MR_DoubleOffsetSettings * MR_DoubleOffsetSettings_OffsetMutablePtr(MR_DoubleOffsetSettings *ptr, ptrdiff_t i)
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)
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)
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 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 MR_GridToMeshSettings * MR_GridToMeshSettings_OffsetMutablePtr(MR_GridToMeshSettings *ptr, ptrdiff_t i)
MRC_API const MR_AffineXf3f * MR_MeshToVolumeParams_Get_worldXf(const MR_MeshToVolumeParams *_this)
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)
MRC_API MR_VdbVolume * MR_floatGridToVdbVolume(MR_PassBy grid_pass_by, MR_FloatGrid *grid)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_OffsetMutablePtr(MR_MakeSignedByWindingNumberSettings *ptr, ptrdiff_t i)
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
Definition MRVDBConversions.h:54
MRC_API const MR_MeshToVolumeParams_Type * MR_MeshToVolumeParams_Get_type(const MR_MeshToVolumeParams *_this)
MRC_API MR_MakeSignedByWindingNumberSettings * MR_MakeSignedByWindingNumberSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_Vector3f * MR_MeshToVolumeParams_GetMutable_voxelSize(MR_MeshToVolumeParams *_this)
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 int * MR_GridToMeshSettings_GetMutable_maxFaces(MR_GridToMeshSettings *_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_GridToMeshSettings * MR_GridToMeshSettings_ConstructFrom(MR_Vector3f voxelSize, float isoValue, float adaptivity, int maxFaces, int maxVertices, bool relaxDisorientedTriangles, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb)
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
Definition MRVDBConversions.h:58
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)
MR_MeshToVolumeParams_Type
Definition MRVDBConversions.h:35
@ MR_MeshToVolumeParams_Type_Signed
Definition MRVDBConversions.h:37
@ MR_MeshToVolumeParams_Type_Unsigned
Definition MRVDBConversions.h:39
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 int * MR_GridToMeshSettings_Get_maxFaces(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)
MRC_API const int * MR_GridToMeshSettings_Get_maxVertices(const MR_GridToMeshSettings *_this)
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:23
struct MR_FloatGrid MR_FloatGrid
Definition expected_MR_FloatGrid_std_string.h:13
struct MR_FunctionVolume MR_FunctionVolume
Definition expected_MR_FunctionVolume_std_string.h:13
struct MR_expected_MR_SimpleVolumeMinMaxU16_std_string MR_expected_MR_SimpleVolumeMinMaxU16_std_string
Definition expected_MR_SimpleVolumeMinMaxU16_std_string.h:19
struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string
Definition expected_MR_SimpleVolumeMinMax_std_string.h:19
struct MR_SimpleVolume MR_SimpleVolume
Definition expected_MR_SimpleVolume_std_string.h:13
struct MR_expected_MR_VdbVolume_std_string MR_expected_MR_VdbVolume_std_string
Definition expected_MR_VdbVolume_std_string.h:19
#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:19
Definition MRAffineXf.h:39
Definition MRBox.h:46
Definition MRBox.h:94
Definition MRVector3.h:52