MeshLib C Docs
Loading...
Searching...
No Matches
MRMarchingCubes.h File Reference
#include <MRCMesh/MRVector3.h>
#include <MRCMisc/common.h>
#include <MRCMisc/exports.h>
#include <stdbool.h>
#include <stddef.h>

Go to the source code of this file.

Typedefs

typedef struct MR_FunctionVolume MR_FunctionVolume
 
typedef struct MR_SimpleBinaryVolume MR_SimpleBinaryVolume
 
typedef struct MR_SimpleVolume MR_SimpleVolume
 
typedef struct MR_SimpleVolumeMinMax MR_SimpleVolumeMinMax
 
typedef struct MR_VdbVolume MR_VdbVolume
 
typedef struct MR_Vector3i MR_Vector3i
 
typedef struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId
 
typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
 
typedef struct MR_expected_MR_TriMesh_std_string MR_expected_MR_TriMesh_std_string
 
typedef struct MR_expected_void_std_string MR_expected_void_std_string
 
typedef struct MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float
 
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_function_void MR_std_function_void
 
typedef enum MR_MarchingCubesParams_CachingMode MR_MarchingCubesParams_CachingMode
 
typedef struct MR_MarchingCubesParams MR_MarchingCubesParams
 
typedef struct MR_MarchingCubesByParts MR_MarchingCubesByParts
 

Enumerations

enum  MR_MarchingCubesParams_CachingMode { MR_MarchingCubesParams_CachingMode_Automatic = 0 , MR_MarchingCubesParams_CachingMode_None = 1 , MR_MarchingCubesParams_CachingMode_Normal = 2 }
 

Functions

MRC_API const MR_Vector3fMR_MarchingCubesParams_Get_origin (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_origin (MR_MarchingCubesParams *_this, MR_Vector3f value)
 
MRC_API MR_Vector3fMR_MarchingCubesParams_GetMutable_origin (MR_MarchingCubesParams *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_MarchingCubesParams_Get_cb (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_cb (MR_MarchingCubesParams *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_MarchingCubesParams_GetMutable_cb (MR_MarchingCubesParams *_this)
 
MRC_API const float * MR_MarchingCubesParams_Get_iso (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_iso (MR_MarchingCubesParams *_this, float value)
 
MRC_API float * MR_MarchingCubesParams_GetMutable_iso (MR_MarchingCubesParams *_this)
 
MRC_API const bool * MR_MarchingCubesParams_Get_lessInside (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_lessInside (MR_MarchingCubesParams *_this, bool value)
 
MRC_API bool * MR_MarchingCubesParams_GetMutable_lessInside (MR_MarchingCubesParams *_this)
 
MRC_API MR_Vector_MR_VoxelId_MR_FaceId *const * MR_MarchingCubesParams_Get_outVoxelPerFaceMap (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_outVoxelPerFaceMap (MR_MarchingCubesParams *_this, MR_Vector_MR_VoxelId_MR_FaceId *value)
 
MRC_API MR_Vector_MR_VoxelId_MR_FaceId ** MR_MarchingCubesParams_GetMutable_outVoxelPerFaceMap (MR_MarchingCubesParams *_this)
 
MRC_API const MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_floatMR_MarchingCubesParams_Get_positioner (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_positioner (MR_MarchingCubesParams *_this, MR_PassBy value_pass_by, MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float *value)
 
MRC_API MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_floatMR_MarchingCubesParams_GetMutable_positioner (MR_MarchingCubesParams *_this)
 
MRC_API const int * MR_MarchingCubesParams_Get_maxVertices (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_maxVertices (MR_MarchingCubesParams *_this, int value)
 
MRC_API int * MR_MarchingCubesParams_GetMutable_maxVertices (MR_MarchingCubesParams *_this)
 
MRC_API const MR_MarchingCubesParams_CachingModeMR_MarchingCubesParams_Get_cachingMode (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_cachingMode (MR_MarchingCubesParams *_this, MR_MarchingCubesParams_CachingMode value)
 
MRC_API MR_MarchingCubesParams_CachingModeMR_MarchingCubesParams_GetMutable_cachingMode (MR_MarchingCubesParams *_this)
 
MRC_API const MR_std_function_voidMR_MarchingCubesParams_Get_freeVolume (const MR_MarchingCubesParams *_this)
 
MRC_API void MR_MarchingCubesParams_Set_freeVolume (MR_MarchingCubesParams *_this, MR_PassBy value_pass_by, MR_std_function_void *value)
 
MRC_API MR_std_function_voidMR_MarchingCubesParams_GetMutable_freeVolume (MR_MarchingCubesParams *_this)
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_DefaultConstruct (void)
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_ConstructFrom (MR_Vector3f origin, MR_PassBy cb_pass_by, MR_std_function_bool_from_float *cb, float iso, bool lessInside, MR_Vector_MR_VoxelId_MR_FaceId *outVoxelPerFaceMap, MR_PassBy positioner_pass_by, MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float *positioner, int maxVertices, MR_MarchingCubesParams_CachingMode cachingMode, MR_PassBy freeVolume_pass_by, MR_std_function_void *freeVolume)
 
MRC_API const MR_MarchingCubesParamsMR_MarchingCubesParams_OffsetPtr (const MR_MarchingCubesParams *ptr, ptrdiff_t i)
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_OffsetMutablePtr (MR_MarchingCubesParams *ptr, ptrdiff_t i)
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_ConstructFromAnother (MR_PassBy _other_pass_by, MR_MarchingCubesParams *_other)
 
MRC_API void MR_MarchingCubesParams_Destroy (const MR_MarchingCubesParams *_this)
 Destroys a heap-allocated instance of MR_MarchingCubesParams. Does nothing if the pointer is null.
 
MRC_API void MR_MarchingCubesParams_DestroyArray (const MR_MarchingCubesParams *_this)
 Destroys a heap-allocated array of MR_MarchingCubesParams. Does nothing if the pointer is null.
 
MRC_API MR_MarchingCubesParamsMR_MarchingCubesParams_AssignFromAnother (MR_MarchingCubesParams *_this, MR_PassBy _other_pass_by, MR_MarchingCubesParams *_other)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_marchingCubes_MR_SimpleVolume (const MR_SimpleVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_marchingCubesAsTriMesh_MR_SimpleVolume (const MR_SimpleVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_marchingCubes_MR_SimpleVolumeMinMax (const MR_SimpleVolumeMinMax *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_marchingCubesAsTriMesh_MR_SimpleVolumeMinMax (const MR_SimpleVolumeMinMax *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_marchingCubes_MR_VdbVolume (const MR_VdbVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_marchingCubesAsTriMesh_MR_VdbVolume (const MR_VdbVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_marchingCubes_MR_FunctionVolume (const MR_FunctionVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_marchingCubesAsTriMesh_MR_FunctionVolume (const MR_FunctionVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_marchingCubes_MR_SimpleBinaryVolume (const MR_SimpleBinaryVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_marchingCubesAsTriMesh_MR_SimpleBinaryVolume (const MR_SimpleBinaryVolume *volume, const MR_MarchingCubesParams *params)
 
MRC_API MR_MarchingCubesByPartsMR_MarchingCubesByParts_ConstructFromAnother (MR_PassBy s_pass_by, MR_MarchingCubesByParts *s)
 
MRC_API const MR_MarchingCubesByPartsMR_MarchingCubesByParts_OffsetPtr (const MR_MarchingCubesByParts *ptr, ptrdiff_t i)
 
MRC_API MR_MarchingCubesByPartsMR_MarchingCubesByParts_OffsetMutablePtr (MR_MarchingCubesByParts *ptr, ptrdiff_t i)
 
MRC_API MR_MarchingCubesByPartsMR_MarchingCubesByParts_Construct (const MR_Vector3i *dims, const MR_MarchingCubesParams *params, const int *layersPerBlock)
 
MRC_API void MR_MarchingCubesByParts_Destroy (const MR_MarchingCubesByParts *_this)
 Destroys a heap-allocated instance of MR_MarchingCubesByParts. Does nothing if the pointer is null.
 
MRC_API void MR_MarchingCubesByParts_DestroyArray (const MR_MarchingCubesByParts *_this)
 Destroys a heap-allocated array of MR_MarchingCubesByParts. Does nothing if the pointer is null.
 
MRC_API MR_MarchingCubesByPartsMR_MarchingCubesByParts_AssignFromAnother (MR_MarchingCubesByParts *_this, MR_PassBy s_pass_by, MR_MarchingCubesByParts *s)
 
MRC_API int MR_MarchingCubesByParts_layersPerBlock (const MR_MarchingCubesByParts *_this)
 
MRC_API int MR_MarchingCubesByParts_nextZ (const MR_MarchingCubesByParts *_this)
 
MRC_API MR_expected_void_std_stringMR_MarchingCubesByParts_addPart (MR_MarchingCubesByParts *_this, const MR_SimpleVolume *part)
 
MRC_API MR_expected_MR_TriMesh_std_stringMR_MarchingCubesByParts_finalize (MR_MarchingCubesByParts *_this)
 

Typedef Documentation

◆ MR_expected_MR_Mesh_std_string

◆ MR_expected_MR_TriMesh_std_string

◆ MR_expected_void_std_string

◆ MR_FunctionVolume

◆ MR_MarchingCubesByParts

converts volume split on parts by planes z=const into mesh, last z-layer of previous part must be repeated as first z-layer of next part usage: MarchingCubesByParts x( dims, params); x.addPart( part1 ); ... x.addPart( partN ); Mesh mesh = Mesh::fromTriMesh( *x.finalize() ); Generated from class MR::MarchingCubesByParts. Supported MR_PassBy modes: MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_MarchingCubesParams

Generated from class MR::MarchingCubesParams. Supported MR_PassBy modes: MR_PassBy_DefaultConstruct, MR_PassBy_Copy, MR_PassBy_Move (and MR_PassBy_DefaultArgument and MR_PassBy_NoObject if supported by the callee).

◆ MR_MarchingCubesParams_CachingMode

caching mode to reduce the number of accesses to voxel volume data on the first pass of the algorithm by consuming more memory on cache; note: the cache for the second pass of the algorithm (bit sets of invalid and lower-than-iso voxels are always allocated)

◆ MR_SimpleBinaryVolume

◆ MR_SimpleVolume

◆ MR_SimpleVolumeMinMax

◆ MR_std_function_bool_from_float

◆ MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float

◆ MR_std_function_void

◆ MR_VdbVolume

typedef struct MR_VdbVolume MR_VdbVolume

◆ MR_Vector3i

typedef struct MR_Vector3i MR_Vector3i

◆ MR_Vector_MR_VoxelId_MR_FaceId

Enumeration Type Documentation

◆ MR_MarchingCubesParams_CachingMode

caching mode to reduce the number of accesses to voxel volume data on the first pass of the algorithm by consuming more memory on cache; note: the cache for the second pass of the algorithm (bit sets of invalid and lower-than-iso voxels are always allocated)

Enumerator
MR_MarchingCubesParams_CachingMode_Automatic 

choose caching mode automatically depending on volume type (current defaults: Normal for FunctionVolume and VdbVolume, None for others)

MR_MarchingCubesParams_CachingMode_None 

don't cache any data

MR_MarchingCubesParams_CachingMode_Normal 

allocates 2 full slices per parallel thread

Function Documentation

◆ MR_marchingCubes_MR_FunctionVolume()

MRC_API MR_expected_MR_Mesh_std_string * MR_marchingCubes_MR_FunctionVolume ( const MR_FunctionVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubes. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubes_MR_SimpleBinaryVolume()

MRC_API MR_expected_MR_Mesh_std_string * MR_marchingCubes_MR_SimpleBinaryVolume ( const MR_SimpleBinaryVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubes. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubes_MR_SimpleVolume()

MRC_API MR_expected_MR_Mesh_std_string * MR_marchingCubes_MR_SimpleVolume ( const MR_SimpleVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubes. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubes_MR_SimpleVolumeMinMax()

MRC_API MR_expected_MR_Mesh_std_string * MR_marchingCubes_MR_SimpleVolumeMinMax ( const MR_SimpleVolumeMinMax * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubes. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubes_MR_VdbVolume()

MRC_API MR_expected_MR_Mesh_std_string * MR_marchingCubes_MR_VdbVolume ( const MR_VdbVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubes. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_Mesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubesAsTriMesh_MR_FunctionVolume()

MRC_API MR_expected_MR_TriMesh_std_string * MR_marchingCubesAsTriMesh_MR_FunctionVolume ( const MR_FunctionVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubesAsTriMesh. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubesAsTriMesh_MR_SimpleBinaryVolume()

MRC_API MR_expected_MR_TriMesh_std_string * MR_marchingCubesAsTriMesh_MR_SimpleBinaryVolume ( const MR_SimpleBinaryVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubesAsTriMesh. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubesAsTriMesh_MR_SimpleVolume()

MRC_API MR_expected_MR_TriMesh_std_string * MR_marchingCubesAsTriMesh_MR_SimpleVolume ( const MR_SimpleVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubesAsTriMesh. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubesAsTriMesh_MR_SimpleVolumeMinMax()

MRC_API MR_expected_MR_TriMesh_std_string * MR_marchingCubesAsTriMesh_MR_SimpleVolumeMinMax ( const MR_SimpleVolumeMinMax * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubesAsTriMesh. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_marchingCubesAsTriMesh_MR_VdbVolume()

MRC_API MR_expected_MR_TriMesh_std_string * MR_marchingCubesAsTriMesh_MR_VdbVolume ( const MR_VdbVolume * volume,
const MR_MarchingCubesParams * params )

Generated from function MR::marchingCubesAsTriMesh. Parameter volume can not be null. It is a single object. Parameter params is a single object. Parameter params has a default argument: {}, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesByParts_addPart()

MRC_API MR_expected_void_std_string * MR_MarchingCubesByParts_addPart ( MR_MarchingCubesByParts * _this,
const MR_SimpleVolume * part )

adds one more part of volume into consideration, with first z=nextZ() Generated from method MR::MarchingCubesByParts::addPart. Parameter _this can not be null. It is a single object. Parameter part can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_void_std_string_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesByParts_AssignFromAnother()

MRC_API MR_MarchingCubesByParts * MR_MarchingCubesByParts_AssignFromAnother ( MR_MarchingCubesByParts * _this,
MR_PassBy s_pass_by,
MR_MarchingCubesByParts * s )

Generated from method MR::MarchingCubesByParts::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter s (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_MarchingCubesByParts_Construct()

MRC_API MR_MarchingCubesByParts * MR_MarchingCubesByParts_Construct ( const MR_Vector3i * dims,
const MR_MarchingCubesParams * params,
const int * layersPerBlock )

prepares convention for given volume dimensions and given parameters

Parameters
layersPerBlockall z-slices of the volume will be partitioned on blocks of given size to process blocks in parallel (0 means auto-select layersPerBlock) Generated from constructor MR::MarchingCubesByParts::MarchingCubesByParts. Parameter dims can not be null. It is a single object. The reference to the parameter dims might be preserved in the constructed object. Parameter params can not be null. It is a single object. The reference to the parameter params might be preserved in the constructed object. Parameter layersPerBlock has a default argument: 0, pass a null pointer to use it. Never returns null. Returns an instance allocated on the heap! Must call MR_MarchingCubesByParts_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesByParts_ConstructFromAnother()

MRC_API MR_MarchingCubesByParts * MR_MarchingCubesByParts_ConstructFromAnother ( MR_PassBy s_pass_by,
MR_MarchingCubesByParts * s )

Generated from constructor MR::MarchingCubesByParts::MarchingCubesByParts. The reference to things referred to by the parameter s (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MarchingCubesByParts_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesByParts_Destroy()

MRC_API void MR_MarchingCubesByParts_Destroy ( const MR_MarchingCubesByParts * _this)

Destroys a heap-allocated instance of MR_MarchingCubesByParts. Does nothing if the pointer is null.

◆ MR_MarchingCubesByParts_DestroyArray()

MRC_API void MR_MarchingCubesByParts_DestroyArray ( const MR_MarchingCubesByParts * _this)

Destroys a heap-allocated array of MR_MarchingCubesByParts. Does nothing if the pointer is null.

◆ MR_MarchingCubesByParts_finalize()

MRC_API MR_expected_MR_TriMesh_std_string * MR_MarchingCubesByParts_finalize ( MR_MarchingCubesByParts * _this)

finishes processing and outputs produced trimesh Generated from method MR::MarchingCubesByParts::finalize. Parameter _this can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_expected_MR_TriMesh_std_string_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesByParts_layersPerBlock()

MRC_API int MR_MarchingCubesByParts_layersPerBlock ( const MR_MarchingCubesByParts * _this)

the number of z-slices of the volume in the blocks Generated from method MR::MarchingCubesByParts::layersPerBlock. Parameter _this can not be null. It is a single object.

◆ MR_MarchingCubesByParts_nextZ()

MRC_API int MR_MarchingCubesByParts_nextZ ( const MR_MarchingCubesByParts * _this)

the last z-layer of the previous part and the first z-layer of the next part Generated from method MR::MarchingCubesByParts::nextZ. Parameter _this can not be null. It is a single object.

◆ MR_MarchingCubesByParts_OffsetMutablePtr()

MRC_API MR_MarchingCubesByParts * MR_MarchingCubesByParts_OffsetMutablePtr ( MR_MarchingCubesByParts * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MarchingCubesByParts_OffsetPtr()

MRC_API const MR_MarchingCubesByParts * MR_MarchingCubesByParts_OffsetPtr ( const MR_MarchingCubesByParts * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MarchingCubesParams_AssignFromAnother()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_AssignFromAnother ( MR_MarchingCubesParams * _this,
MR_PassBy _other_pass_by,
MR_MarchingCubesParams * _other )

Generated from method MR::MarchingCubesParams::operator=. Parameter _this can not be null. It is a single object. The reference to things referred to by the parameter _other (if any) might be preserved in this object. The returned pointer will never be null. It is non-owning, do NOT destroy it. When this function is called, this object will drop any object references it had previously.

◆ MR_MarchingCubesParams_ConstructFrom()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_ConstructFrom ( MR_Vector3f origin,
MR_PassBy cb_pass_by,
MR_std_function_bool_from_float * cb,
float iso,
bool lessInside,
MR_Vector_MR_VoxelId_MR_FaceId * outVoxelPerFaceMap,
MR_PassBy positioner_pass_by,
MR_std_function_MR_Vector3f_from_const_MR_Vector3f_ref_const_MR_Vector3f_ref_float_float_float * positioner,
int maxVertices,
MR_MarchingCubesParams_CachingMode cachingMode,
MR_PassBy freeVolume_pass_by,
MR_std_function_void * freeVolume )

Constructs MR::MarchingCubesParams elementwise. The reference to the parameter origin might be preserved in the constructed object. The reference to the parameter cb might be preserved in the constructed object. The reference to the parameter outVoxelPerFaceMap might be preserved in the constructed object. The reference to the parameter positioner might be preserved in the constructed object. The reference to the parameter cachingMode might be preserved in the constructed object. The reference to the parameter freeVolume might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MarchingCubesParams_Destroy() to free it when you're done using it. When this function is called, this object will drop any object references it had previously.

◆ MR_MarchingCubesParams_ConstructFromAnother()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_MarchingCubesParams * _other )

Generated from constructor MR::MarchingCubesParams::MarchingCubesParams. The reference to things referred to by the parameter _other (if any) might be preserved in the constructed object. Never returns null. Returns an instance allocated on the heap! Must call MR_MarchingCubesParams_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesParams_DefaultConstruct()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_DefaultConstruct ( void )

Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_MarchingCubesParams_Destroy() to free it when you're done using it.

◆ MR_MarchingCubesParams_DefaultConstructArray()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_DefaultConstructArray ( size_t num_elems)

Constructs an array of empty (default-constructed) instances, of the specified size. Will never return null. The array must be destroyed using MR_MarchingCubesParams_DestroyArray(). Use MR_MarchingCubesParams_OffsetMutablePtr() and MR_MarchingCubesParams_OffsetPtr() to access the array elements.

◆ MR_MarchingCubesParams_Destroy()

MRC_API void MR_MarchingCubesParams_Destroy ( const MR_MarchingCubesParams * _this)

Destroys a heap-allocated instance of MR_MarchingCubesParams. Does nothing if the pointer is null.

◆ MR_MarchingCubesParams_DestroyArray()

MRC_API void MR_MarchingCubesParams_DestroyArray ( const MR_MarchingCubesParams * _this)

Destroys a heap-allocated array of MR_MarchingCubesParams. Does nothing if the pointer is null.

◆ MR_MarchingCubesParams_Get_cachingMode()

MRC_API const MR_MarchingCubesParams_CachingMode * MR_MarchingCubesParams_Get_cachingMode ( const MR_MarchingCubesParams * _this)

Returns a pointer to a member variable of class MR::MarchingCubesParams named cachingMode. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_cb()

MRC_API const MR_std_function_bool_from_float * MR_MarchingCubesParams_Get_cb ( const MR_MarchingCubesParams * _this)

progress callback Returns a pointer to a member variable of class MR::MarchingCubesParams named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_freeVolume()

MRC_API const MR_std_function_void * MR_MarchingCubesParams_Get_freeVolume ( const MR_MarchingCubesParams * _this)

this optional function is called when volume is no longer needed to deallocate it and reduce peak memory consumption Returns a pointer to a member variable of class MR::MarchingCubesParams named freeVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_iso()

MRC_API const float * MR_MarchingCubesParams_Get_iso ( const MR_MarchingCubesParams * _this)

target iso-value of the surface to be extracted from volume Returns a pointer to a member variable of class MR::MarchingCubesParams named iso. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_lessInside()

MRC_API const bool * MR_MarchingCubesParams_Get_lessInside ( const MR_MarchingCubesParams * _this)

should be false for dense volumes, and true for distance volume Returns a pointer to a member variable of class MR::MarchingCubesParams named lessInside. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_maxVertices()

MRC_API const int * MR_MarchingCubesParams_Get_maxVertices ( const MR_MarchingCubesParams * _this)

if the mesh exceeds this number of vertices, an error returns Returns a pointer to a member variable of class MR::MarchingCubesParams named maxVertices. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_origin()

MRC_API const MR_Vector3f * MR_MarchingCubesParams_Get_origin ( const MR_MarchingCubesParams * _this)

origin point of voxels box in 3D space with output mesh Returns a pointer to a member variable of class MR::MarchingCubesParams named origin. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_outVoxelPerFaceMap()

MRC_API MR_Vector_MR_VoxelId_MR_FaceId *const * MR_MarchingCubesParams_Get_outVoxelPerFaceMap ( const MR_MarchingCubesParams * _this)

optional output map FaceId->VoxelId Returns a pointer to a member variable of class MR::MarchingCubesParams named outVoxelPerFaceMap. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_Get_positioner()

function to calculate position of result mesh points if the function isn't set, a linear positioner will be used note: this function is called in parallel from different threads Returns a pointer to a member variable of class MR::MarchingCubesParams named positioner. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_cachingMode()

MRC_API MR_MarchingCubesParams_CachingMode * MR_MarchingCubesParams_GetMutable_cachingMode ( MR_MarchingCubesParams * _this)

Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named cachingMode. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_cb()

MRC_API MR_std_function_bool_from_float * MR_MarchingCubesParams_GetMutable_cb ( MR_MarchingCubesParams * _this)

progress callback Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named cb. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_freeVolume()

MRC_API MR_std_function_void * MR_MarchingCubesParams_GetMutable_freeVolume ( MR_MarchingCubesParams * _this)

this optional function is called when volume is no longer needed to deallocate it and reduce peak memory consumption Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named freeVolume. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_iso()

MRC_API float * MR_MarchingCubesParams_GetMutable_iso ( MR_MarchingCubesParams * _this)

target iso-value of the surface to be extracted from volume Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named iso. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_lessInside()

MRC_API bool * MR_MarchingCubesParams_GetMutable_lessInside ( MR_MarchingCubesParams * _this)

should be false for dense volumes, and true for distance volume Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named lessInside. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_maxVertices()

MRC_API int * MR_MarchingCubesParams_GetMutable_maxVertices ( MR_MarchingCubesParams * _this)

if the mesh exceeds this number of vertices, an error returns Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named maxVertices. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_origin()

MRC_API MR_Vector3f * MR_MarchingCubesParams_GetMutable_origin ( MR_MarchingCubesParams * _this)

origin point of voxels box in 3D space with output mesh Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named origin. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_outVoxelPerFaceMap()

MRC_API MR_Vector_MR_VoxelId_MR_FaceId ** MR_MarchingCubesParams_GetMutable_outVoxelPerFaceMap ( MR_MarchingCubesParams * _this)

optional output map FaceId->VoxelId Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named outVoxelPerFaceMap. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_GetMutable_positioner()

function to calculate position of result mesh points if the function isn't set, a linear positioner will be used note: this function is called in parallel from different threads Returns a mutable pointer to a member variable of class MR::MarchingCubesParams named positioner. Parameter _this can not be null. It is a single object. The returned pointer will never be null. It is non-owning, do NOT destroy it.

◆ MR_MarchingCubesParams_OffsetMutablePtr()

MRC_API MR_MarchingCubesParams * MR_MarchingCubesParams_OffsetMutablePtr ( MR_MarchingCubesParams * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MarchingCubesParams_OffsetPtr()

MRC_API const MR_MarchingCubesParams * MR_MarchingCubesParams_OffsetPtr ( const MR_MarchingCubesParams * ptr,
ptrdiff_t i )

Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the pointer points to an array element. The reference to the parameter ptr might be preserved in the return value.

◆ MR_MarchingCubesParams_Set_cachingMode()

MRC_API void MR_MarchingCubesParams_Set_cachingMode ( MR_MarchingCubesParams * _this,
MR_MarchingCubesParams_CachingMode value )

Modifies a member variable of class MR::MarchingCubesParams named cachingMode. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element cachingMode. When this function is called, this object will drop object references it had previously in cachingMode.

◆ MR_MarchingCubesParams_Set_cb()

MRC_API void MR_MarchingCubesParams_Set_cb ( MR_MarchingCubesParams * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

progress callback Modifies a member variable of class MR::MarchingCubesParams named cb. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element cb. When this function is called, this object will drop object references it had previously in cb.

◆ MR_MarchingCubesParams_Set_freeVolume()

MRC_API void MR_MarchingCubesParams_Set_freeVolume ( MR_MarchingCubesParams * _this,
MR_PassBy value_pass_by,
MR_std_function_void * value )

this optional function is called when volume is no longer needed to deallocate it and reduce peak memory consumption Modifies a member variable of class MR::MarchingCubesParams named freeVolume. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element freeVolume. When this function is called, this object will drop object references it had previously in freeVolume.

◆ MR_MarchingCubesParams_Set_iso()

MRC_API void MR_MarchingCubesParams_Set_iso ( MR_MarchingCubesParams * _this,
float value )

target iso-value of the surface to be extracted from volume Modifies a member variable of class MR::MarchingCubesParams named iso. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in iso.

◆ MR_MarchingCubesParams_Set_lessInside()

MRC_API void MR_MarchingCubesParams_Set_lessInside ( MR_MarchingCubesParams * _this,
bool value )

should be false for dense volumes, and true for distance volume Modifies a member variable of class MR::MarchingCubesParams named lessInside. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in lessInside.

◆ MR_MarchingCubesParams_Set_maxVertices()

MRC_API void MR_MarchingCubesParams_Set_maxVertices ( MR_MarchingCubesParams * _this,
int value )

if the mesh exceeds this number of vertices, an error returns Modifies a member variable of class MR::MarchingCubesParams named maxVertices. Parameter _this can not be null. It is a single object. When this function is called, this object will drop object references it had previously in maxVertices.

◆ MR_MarchingCubesParams_Set_origin()

MRC_API void MR_MarchingCubesParams_Set_origin ( MR_MarchingCubesParams * _this,
MR_Vector3f value )

origin point of voxels box in 3D space with output mesh Modifies a member variable of class MR::MarchingCubesParams named origin. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element origin. When this function is called, this object will drop object references it had previously in origin.

◆ MR_MarchingCubesParams_Set_outVoxelPerFaceMap()

MRC_API void MR_MarchingCubesParams_Set_outVoxelPerFaceMap ( MR_MarchingCubesParams * _this,
MR_Vector_MR_VoxelId_MR_FaceId * value )

optional output map FaceId->VoxelId Modifies a member variable of class MR::MarchingCubesParams named outVoxelPerFaceMap. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element outVoxelPerFaceMap. When this function is called, this object will drop object references it had previously in outVoxelPerFaceMap.

◆ MR_MarchingCubesParams_Set_positioner()

function to calculate position of result mesh points if the function isn't set, a linear positioner will be used note: this function is called in parallel from different threads Modifies a member variable of class MR::MarchingCubesParams named positioner. Parameter _this can not be null. It is a single object. The reference to the parameter value might be preserved in this object in element positioner. When this function is called, this object will drop object references it had previously in positioner.