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// Parameters structure for meshToVolume function
36
37// Conversion type
39{
40 // only closed meshes can be converted with signed type
42 // this type leads to shell like iso-surfaces
45
49
52
55
56// closed surface is required
57// surfaceOffset - number voxels around surface to calculate distance in (should be positive)
58// returns null if was canceled by progress callback
66MRC_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);
67
68// does not require closed surface, resulting grid cannot be used for boolean operations,
69// surfaceOffset - the number of voxels around surface to calculate distance in (should be positive)
70// returns null if was canceled by progress callback
78MRC_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);
79
84
88
93
94// the number of voxels around surface to calculate distance in (should be positive)
99
100// the number of voxels around surface to calculate distance in (should be positive)
104
105// the number of voxels around surface to calculate distance in (should be positive)
110
115
119
124
125// mesh initial transform
130
131// mesh initial transform
135
136// mesh initial transform
141
142// optional output: xf to original mesh (respecting worldXf)
147
148// optional output: xf to original mesh (respecting worldXf)
152
153// optional output: xf to original mesh (respecting worldXf)
158
163
167
172
176
181
185
188
191
195
198
201
206
207// eval min max value from FloatGrid
212MRC_API void MR_evalGridMinMax(const MR_FloatGrid *grid, float *min, float *max);
213
223
234
235// fills VdbVolume data from FloatGrid (does not fill voxels size, cause we expect it outside)
239
240// make FloatGrid from SimpleVolume
241// make copy of data
242// background - the new background value for FloatGrid
243// grid can be used to make iso-surface later with gridToMesh function
249MRC_API MR_FloatGrid *MR_simpleVolumeToDenseGrid(const MR_SimpleVolume *simpleVolume, const float *background, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb);
250
251// set the simpleVolume.min as the background value
257
258// make VdbVolume from FunctionVolume
259// make copy of data
260// set minimum value as the background value
266
267// make SimpleVolume from VdbVolume
268// make copy of data
276
291
306
312
317
323
329
334
340
346
351
357
363
368
374
380
385
391
396
400
405
411
416
422
426
431
434MRC_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);
435
438
441
445
448
451
456
463
473
479
484
490
496
501
507
514
520
527
533
538
544
550
555
561
565
570
574
577
580
584
587
590
595
604
610
615
621
627
632
638
644
649
655
661
666
672
678
683
689
696
702
709
715
720
726
732
737
743
747
752
755MRC_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);
756
759
762
766
769
772
777
785
786#ifdef __cplusplus
787} // extern "C"
788#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:18
struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
Definition MRBox.h:16
struct MR_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:19
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:17
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
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_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
Generated from class MR::MeshToVolumeParams.
Definition MRVDBConversions.h:35
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)
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 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)
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 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:48
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 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:51
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
Generated from class MR::DoubleOffsetSettings.
Definition MRVDBConversions.h:54
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:39
@ MR_MeshToVolumeParams_Type_Signed
Definition MRVDBConversions.h:41
@ MR_MeshToVolumeParams_Type_Unsigned
Definition MRVDBConversions.h:43
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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: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:44
Definition MRBox.h:92
Definition MRVector3.h:50