MeshLib C Docs
Loading...
Searching...
No Matches
MROffset.h File Reference
#include <MRCMesh/MREnums.h>
#include <MRCMesh/MRSignDetectionMode.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_FaceBitSet MR_FaceBitSet
 
typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshPart MR_MeshPart
 
typedef struct MR_Polyline3 MR_Polyline3
 
typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
 
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_std_function_bool_from_float MR_std_function_bool_from_float
 
typedef struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber
 
typedef struct MR_BaseShellParameters MR_BaseShellParameters
 
typedef struct MR_OffsetParameters MR_OffsetParameters
 
typedef struct MR_SharpOffsetParameters MR_SharpOffsetParameters
 
typedef struct MR_GeneralOffsetParameters MR_GeneralOffsetParameters
 

Functions

MRC_API const float * MR_BaseShellParameters_Get_voxelSize (const MR_BaseShellParameters *_this)
 
MRC_API void MR_BaseShellParameters_Set_voxelSize (MR_BaseShellParameters *_this, float value)
 
MRC_API float * MR_BaseShellParameters_GetMutable_voxelSize (MR_BaseShellParameters *_this)
 
MRC_API const MR_std_function_bool_from_floatMR_BaseShellParameters_Get_callBack (const MR_BaseShellParameters *_this)
 
MRC_API void MR_BaseShellParameters_Set_callBack (MR_BaseShellParameters *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
 
MRC_API MR_std_function_bool_from_floatMR_BaseShellParameters_GetMutable_callBack (MR_BaseShellParameters *_this)
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_DefaultConstruct (void)
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_ConstructFrom (float voxelSize, MR_PassBy callBack_pass_by, MR_std_function_bool_from_float *callBack)
 
MRC_API const MR_BaseShellParametersMR_BaseShellParameters_OffsetPtr (const MR_BaseShellParameters *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.
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_OffsetMutablePtr (MR_BaseShellParameters *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.
 
MRC_API const MR_GeneralOffsetParametersMR_BaseShellParameters_StaticDowncastTo_MR_GeneralOffsetParameters (const MR_BaseShellParameters *object)
 
MRC_API MR_GeneralOffsetParametersMR_BaseShellParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters (MR_BaseShellParameters *object)
 
MRC_API const MR_OffsetParametersMR_BaseShellParameters_StaticDowncastTo_MR_OffsetParameters (const MR_BaseShellParameters *object)
 
MRC_API MR_OffsetParametersMR_BaseShellParameters_MutableStaticDowncastTo_MR_OffsetParameters (MR_BaseShellParameters *object)
 
MRC_API const MR_SharpOffsetParametersMR_BaseShellParameters_StaticDowncastTo_MR_SharpOffsetParameters (const MR_BaseShellParameters *object)
 
MRC_API MR_SharpOffsetParametersMR_BaseShellParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters (MR_BaseShellParameters *object)
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_BaseShellParameters *_other)
 
MRC_API void MR_BaseShellParameters_Destroy (const MR_BaseShellParameters *_this)
 Destroys a heap-allocated instance of MR_BaseShellParameters. Does nothing if the pointer is null.
 
MRC_API void MR_BaseShellParameters_DestroyArray (const MR_BaseShellParameters *_this)
 Destroys a heap-allocated array of MR_BaseShellParameters. Does nothing if the pointer is null.
 
MRC_API MR_BaseShellParametersMR_BaseShellParameters_AssignFromAnother (MR_BaseShellParameters *_this, MR_PassBy _other_pass_by, MR_BaseShellParameters *_other)
 
MRC_API float MR_suggestVoxelSize (const MR_MeshPart *mp, float approxNumVoxels)
 
MRC_API const MR_SignDetectionModeMR_OffsetParameters_Get_signDetectionMode (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_signDetectionMode (MR_OffsetParameters *_this, MR_SignDetectionMode value)
 
MRC_API MR_SignDetectionModeMR_OffsetParameters_GetMutable_signDetectionMode (MR_OffsetParameters *_this)
 
MRC_API const bool * MR_OffsetParameters_Get_closeHolesInHoleWindingNumber (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_closeHolesInHoleWindingNumber (MR_OffsetParameters *_this, bool value)
 
MRC_API bool * MR_OffsetParameters_GetMutable_closeHolesInHoleWindingNumber (MR_OffsetParameters *_this)
 
MRC_API const float * MR_OffsetParameters_Get_windingNumberThreshold (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_windingNumberThreshold (MR_OffsetParameters *_this, float value)
 
MRC_API float * MR_OffsetParameters_GetMutable_windingNumberThreshold (MR_OffsetParameters *_this)
 
MRC_API const float * MR_OffsetParameters_Get_windingNumberBeta (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_windingNumberBeta (MR_OffsetParameters *_this, float value)
 
MRC_API float * MR_OffsetParameters_GetMutable_windingNumberBeta (MR_OffsetParameters *_this)
 
MRC_API const MR_std_shared_ptr_MR_IFastWindingNumberMR_OffsetParameters_Get_fwn (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_fwn (MR_OffsetParameters *_this, MR_PassBy value_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *value)
 
MRC_API MR_std_shared_ptr_MR_IFastWindingNumberMR_OffsetParameters_GetMutable_fwn (MR_OffsetParameters *_this)
 
MRC_API const bool * MR_OffsetParameters_Get_memoryEfficient (const MR_OffsetParameters *_this)
 
MRC_API void MR_OffsetParameters_Set_memoryEfficient (MR_OffsetParameters *_this, bool value)
 
MRC_API bool * MR_OffsetParameters_GetMutable_memoryEfficient (MR_OffsetParameters *_this)
 
MRC_API MR_OffsetParametersMR_OffsetParameters_DefaultConstruct (void)
 
MRC_API MR_OffsetParametersMR_OffsetParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_OffsetParametersMR_OffsetParameters_OffsetPtr (const MR_OffsetParameters *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.
 
MRC_API MR_OffsetParametersMR_OffsetParameters_OffsetMutablePtr (MR_OffsetParameters *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.
 
MRC_API const MR_BaseShellParametersMR_OffsetParameters_UpcastTo_MR_BaseShellParameters (const MR_OffsetParameters *object)
 
MRC_API MR_BaseShellParametersMR_OffsetParameters_MutableUpcastTo_MR_BaseShellParameters (MR_OffsetParameters *object)
 Upcasts an instance of MR::OffsetParameters to its base class MR::BaseShellParameters.
 
MRC_API const MR_GeneralOffsetParametersMR_OffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters (const MR_OffsetParameters *object)
 
MRC_API MR_GeneralOffsetParametersMR_OffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters (MR_OffsetParameters *object)
 
MRC_API const MR_SharpOffsetParametersMR_OffsetParameters_StaticDowncastTo_MR_SharpOffsetParameters (const MR_OffsetParameters *object)
 
MRC_API MR_SharpOffsetParametersMR_OffsetParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters (MR_OffsetParameters *object)
 
MRC_API MR_OffsetParametersMR_OffsetParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_OffsetParameters *_other)
 
MRC_API void MR_OffsetParameters_Destroy (const MR_OffsetParameters *_this)
 Destroys a heap-allocated instance of MR_OffsetParameters. Does nothing if the pointer is null.
 
MRC_API void MR_OffsetParameters_DestroyArray (const MR_OffsetParameters *_this)
 Destroys a heap-allocated array of MR_OffsetParameters. Does nothing if the pointer is null.
 
MRC_API MR_OffsetParametersMR_OffsetParameters_AssignFromAnother (MR_OffsetParameters *_this, MR_PassBy _other_pass_by, MR_OffsetParameters *_other)
 
MRC_API MR_UndirectedEdgeBitSet *const * MR_SharpOffsetParameters_Get_outSharpEdges (const MR_SharpOffsetParameters *_this)
 
MRC_API void MR_SharpOffsetParameters_Set_outSharpEdges (MR_SharpOffsetParameters *_this, MR_UndirectedEdgeBitSet *value)
 
MRC_API MR_UndirectedEdgeBitSet ** MR_SharpOffsetParameters_GetMutable_outSharpEdges (MR_SharpOffsetParameters *_this)
 
MRC_API const float * MR_SharpOffsetParameters_Get_minNewVertDev (const MR_SharpOffsetParameters *_this)
 
MRC_API void MR_SharpOffsetParameters_Set_minNewVertDev (MR_SharpOffsetParameters *_this, float value)
 
MRC_API float * MR_SharpOffsetParameters_GetMutable_minNewVertDev (MR_SharpOffsetParameters *_this)
 
MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank2VertDev (const MR_SharpOffsetParameters *_this)
 
MRC_API void MR_SharpOffsetParameters_Set_maxNewRank2VertDev (MR_SharpOffsetParameters *_this, float value)
 
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank2VertDev (MR_SharpOffsetParameters *_this)
 
MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank3VertDev (const MR_SharpOffsetParameters *_this)
 
MRC_API void MR_SharpOffsetParameters_Set_maxNewRank3VertDev (MR_SharpOffsetParameters *_this, float value)
 
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank3VertDev (MR_SharpOffsetParameters *_this)
 
MRC_API const float * MR_SharpOffsetParameters_Get_maxOldVertPosCorrection (const MR_SharpOffsetParameters *_this)
 
MRC_API void MR_SharpOffsetParameters_Set_maxOldVertPosCorrection (MR_SharpOffsetParameters *_this, float value)
 
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxOldVertPosCorrection (MR_SharpOffsetParameters *_this)
 
MRC_API MR_SharpOffsetParametersMR_SharpOffsetParameters_DefaultConstruct (void)
 
MRC_API MR_SharpOffsetParametersMR_SharpOffsetParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_SharpOffsetParametersMR_SharpOffsetParameters_OffsetPtr (const MR_SharpOffsetParameters *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.
 
MRC_API MR_SharpOffsetParametersMR_SharpOffsetParameters_OffsetMutablePtr (MR_SharpOffsetParameters *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.
 
MRC_API const MR_BaseShellParametersMR_SharpOffsetParameters_UpcastTo_MR_BaseShellParameters (const MR_SharpOffsetParameters *object)
 
MRC_API MR_BaseShellParametersMR_SharpOffsetParameters_MutableUpcastTo_MR_BaseShellParameters (MR_SharpOffsetParameters *object)
 Upcasts an instance of MR::SharpOffsetParameters to its base class MR::BaseShellParameters.
 
MRC_API const MR_OffsetParametersMR_SharpOffsetParameters_UpcastTo_MR_OffsetParameters (const MR_SharpOffsetParameters *object)
 
MRC_API MR_OffsetParametersMR_SharpOffsetParameters_MutableUpcastTo_MR_OffsetParameters (MR_SharpOffsetParameters *object)
 Upcasts an instance of MR::SharpOffsetParameters to its base class MR::OffsetParameters.
 
MRC_API const MR_GeneralOffsetParametersMR_SharpOffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters (const MR_SharpOffsetParameters *object)
 
MRC_API MR_GeneralOffsetParametersMR_SharpOffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters (MR_SharpOffsetParameters *object)
 
MRC_API MR_SharpOffsetParametersMR_SharpOffsetParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_SharpOffsetParameters *_other)
 
MRC_API void MR_SharpOffsetParameters_Destroy (const MR_SharpOffsetParameters *_this)
 Destroys a heap-allocated instance of MR_SharpOffsetParameters. Does nothing if the pointer is null.
 
MRC_API void MR_SharpOffsetParameters_DestroyArray (const MR_SharpOffsetParameters *_this)
 Destroys a heap-allocated array of MR_SharpOffsetParameters. Does nothing if the pointer is null.
 
MRC_API MR_SharpOffsetParametersMR_SharpOffsetParameters_AssignFromAnother (MR_SharpOffsetParameters *_this, MR_PassBy _other_pass_by, MR_SharpOffsetParameters *_other)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_offsetMesh (const MR_MeshPart *mp, float offset, const MR_OffsetParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_doubleOffsetMesh (const MR_MeshPart *mp, float offsetA, float offsetB, const MR_OffsetParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_mcOffsetMesh (const MR_MeshPart *mp, float offset, const MR_OffsetParameters *params, MR_Vector_MR_VoxelId_MR_FaceId *outMap)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_mcShellMeshRegion (const MR_Mesh *mesh, const MR_FaceBitSet *region, float offset, const MR_BaseShellParameters *params, MR_Vector_MR_VoxelId_MR_FaceId *outMap)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_sharpOffsetMesh (const MR_MeshPart *mp, float offset, const MR_SharpOffsetParameters *params)
 
MRC_API const MR_OffsetModeMR_GeneralOffsetParameters_Get_mode (const MR_GeneralOffsetParameters *_this)
 
MRC_API void MR_GeneralOffsetParameters_Set_mode (MR_GeneralOffsetParameters *_this, MR_OffsetMode value)
 
MRC_API MR_OffsetModeMR_GeneralOffsetParameters_GetMutable_mode (MR_GeneralOffsetParameters *_this)
 
MRC_API MR_GeneralOffsetParametersMR_GeneralOffsetParameters_DefaultConstruct (void)
 
MRC_API MR_GeneralOffsetParametersMR_GeneralOffsetParameters_DefaultConstructArray (size_t num_elems)
 
MRC_API const MR_GeneralOffsetParametersMR_GeneralOffsetParameters_OffsetPtr (const MR_GeneralOffsetParameters *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.
 
MRC_API MR_GeneralOffsetParametersMR_GeneralOffsetParameters_OffsetMutablePtr (MR_GeneralOffsetParameters *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.
 
MRC_API const MR_BaseShellParametersMR_GeneralOffsetParameters_UpcastTo_MR_BaseShellParameters (const MR_GeneralOffsetParameters *object)
 
MRC_API MR_BaseShellParametersMR_GeneralOffsetParameters_MutableUpcastTo_MR_BaseShellParameters (MR_GeneralOffsetParameters *object)
 Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::BaseShellParameters.
 
MRC_API const MR_OffsetParametersMR_GeneralOffsetParameters_UpcastTo_MR_OffsetParameters (const MR_GeneralOffsetParameters *object)
 
MRC_API MR_OffsetParametersMR_GeneralOffsetParameters_MutableUpcastTo_MR_OffsetParameters (MR_GeneralOffsetParameters *object)
 Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::OffsetParameters.
 
MRC_API const MR_SharpOffsetParametersMR_GeneralOffsetParameters_UpcastTo_MR_SharpOffsetParameters (const MR_GeneralOffsetParameters *object)
 
MRC_API MR_SharpOffsetParametersMR_GeneralOffsetParameters_MutableUpcastTo_MR_SharpOffsetParameters (MR_GeneralOffsetParameters *object)
 Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::SharpOffsetParameters.
 
MRC_API MR_GeneralOffsetParametersMR_GeneralOffsetParameters_ConstructFromAnother (MR_PassBy _other_pass_by, MR_GeneralOffsetParameters *_other)
 
MRC_API void MR_GeneralOffsetParameters_Destroy (const MR_GeneralOffsetParameters *_this)
 Destroys a heap-allocated instance of MR_GeneralOffsetParameters. Does nothing if the pointer is null.
 
MRC_API void MR_GeneralOffsetParameters_DestroyArray (const MR_GeneralOffsetParameters *_this)
 Destroys a heap-allocated array of MR_GeneralOffsetParameters. Does nothing if the pointer is null.
 
MRC_API MR_GeneralOffsetParametersMR_GeneralOffsetParameters_AssignFromAnother (MR_GeneralOffsetParameters *_this, MR_PassBy _other_pass_by, MR_GeneralOffsetParameters *_other)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_generalOffsetMesh (const MR_MeshPart *mp, float offset, const MR_GeneralOffsetParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_thickenMesh (const MR_Mesh *mesh, float offset, const MR_GeneralOffsetParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_offsetOneDirection (const MR_MeshPart *mp, float offset, const MR_GeneralOffsetParameters *params)
 
MRC_API MR_expected_MR_Mesh_std_stringMR_offsetPolyline (const MR_Polyline3 *polyline, float offset, const MR_OffsetParameters *params)
 

Typedef Documentation

◆ MR_BaseShellParameters

Generated from class MR::BaseShellParameters. Derived classes: Direct: (non-virtual) MR::OffsetParameters Indirect: (non-virtual) MR::GeneralOffsetParameters MR::SharpOffsetParameters

◆ MR_expected_MR_Mesh_std_string

◆ MR_FaceBitSet

typedef struct MR_FaceBitSet MR_FaceBitSet

◆ MR_GeneralOffsetParameters

allows the user to select in the parameters which offset algorithm to call Generated from class MR::GeneralOffsetParameters. Base classes: Direct: (non-virtual) MR::SharpOffsetParameters Indirect: (non-virtual) MR::BaseShellParameters MR::OffsetParameters

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshPart

typedef struct MR_MeshPart MR_MeshPart

◆ MR_OffsetParameters

Generated from class MR::OffsetParameters. Base classes: Direct: (non-virtual) MR::BaseShellParameters Derived classes: Direct: (non-virtual) MR::SharpOffsetParameters Indirect: (non-virtual) MR::GeneralOffsetParameters

◆ MR_Polyline3

typedef struct MR_Polyline3 MR_Polyline3

◆ MR_SharpOffsetParameters

Generated from class MR::SharpOffsetParameters. Base classes: Direct: (non-virtual) MR::OffsetParameters Indirect: (non-virtual) MR::BaseShellParameters Derived classes: Direct: (non-virtual) MR::GeneralOffsetParameters

◆ MR_std_function_bool_from_float

◆ MR_std_shared_ptr_MR_IFastWindingNumber

◆ MR_UndirectedEdgeBitSet

◆ MR_Vector_MR_VoxelId_MR_FaceId

Function Documentation

◆ MR_BaseShellParameters_AssignFromAnother()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_AssignFromAnother ( MR_BaseShellParameters * _this,
MR_PassBy _other_pass_by,
MR_BaseShellParameters * _other )

Generated from a method of class MR::BaseShellParameters named operator=. 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_BaseShellParameters_ConstructFrom()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_ConstructFrom ( float voxelSize,
MR_PassBy callBack_pass_by,
MR_std_function_bool_from_float * callBack )

Constructs MR::BaseShellParameters elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_BaseShellParameters_Destroy() to free it when you're done using it.

◆ MR_BaseShellParameters_ConstructFromAnother()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_BaseShellParameters * _other )

Generated from a constructor of class MR::BaseShellParameters. Never returns null. Returns an instance allocated on the heap! Must call MR_BaseShellParameters_Destroy() to free it when you're done using it.

◆ MR_BaseShellParameters_DefaultConstruct()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_DefaultConstruct ( void )

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

◆ MR_BaseShellParameters_DefaultConstructArray()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_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_BaseShellParameters_DestroyArray(). Use MR_BaseShellParameters_OffsetMutablePtr() and MR_BaseShellParameters_OffsetPtr() to access the array elements.

◆ MR_BaseShellParameters_Destroy()

MRC_API void MR_BaseShellParameters_Destroy ( const MR_BaseShellParameters * _this)

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

◆ MR_BaseShellParameters_DestroyArray()

MRC_API void MR_BaseShellParameters_DestroyArray ( const MR_BaseShellParameters * _this)

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

◆ MR_BaseShellParameters_Get_callBack()

MRC_API const MR_std_function_bool_from_float * MR_BaseShellParameters_Get_callBack ( const MR_BaseShellParameters * _this)

Progress callback Returns a pointer to a member variable of class MR::BaseShellParameters named callBack. 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_BaseShellParameters_Get_voxelSize()

MRC_API const float * MR_BaseShellParameters_Get_voxelSize ( const MR_BaseShellParameters * _this)

Size of voxel in grid conversions; The user is responsible for setting some positive value here Returns a pointer to a member variable of class MR::BaseShellParameters named voxelSize. 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_BaseShellParameters_GetMutable_callBack()

MRC_API MR_std_function_bool_from_float * MR_BaseShellParameters_GetMutable_callBack ( MR_BaseShellParameters * _this)

Progress callback Returns a mutable pointer to a member variable of class MR::BaseShellParameters named callBack. 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_BaseShellParameters_GetMutable_voxelSize()

MRC_API float * MR_BaseShellParameters_GetMutable_voxelSize ( MR_BaseShellParameters * _this)

Size of voxel in grid conversions; The user is responsible for setting some positive value here Returns a mutable pointer to a member variable of class MR::BaseShellParameters named voxelSize. 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_BaseShellParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API MR_GeneralOffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters ( MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_BaseShellParameters_MutableStaticDowncastTo_MR_OffsetParameters()

MRC_API MR_OffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_OffsetParameters ( MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::OffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_BaseShellParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters()

MRC_API MR_SharpOffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters ( MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::SharpOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_BaseShellParameters_OffsetMutablePtr()

MRC_API MR_BaseShellParameters * MR_BaseShellParameters_OffsetMutablePtr ( MR_BaseShellParameters * 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.

◆ MR_BaseShellParameters_OffsetPtr()

MRC_API const MR_BaseShellParameters * MR_BaseShellParameters_OffsetPtr ( const MR_BaseShellParameters * 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.

◆ MR_BaseShellParameters_Set_callBack()

MRC_API void MR_BaseShellParameters_Set_callBack ( MR_BaseShellParameters * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_float * value )

Progress callback Modifies a member variable of class MR::BaseShellParameters named callBack. Parameter _this can not be null. It is a single object.

◆ MR_BaseShellParameters_Set_voxelSize()

MRC_API void MR_BaseShellParameters_Set_voxelSize ( MR_BaseShellParameters * _this,
float value )

Size of voxel in grid conversions; The user is responsible for setting some positive value here Modifies a member variable of class MR::BaseShellParameters named voxelSize. Parameter _this can not be null. It is a single object.

◆ MR_BaseShellParameters_StaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API const MR_GeneralOffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_GeneralOffsetParameters ( const MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_BaseShellParameters_StaticDowncastTo_MR_OffsetParameters()

MRC_API const MR_OffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_OffsetParameters ( const MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::OffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_BaseShellParameters_StaticDowncastTo_MR_SharpOffsetParameters()

MRC_API const MR_SharpOffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_SharpOffsetParameters ( const MR_BaseShellParameters * object)

Downcasts an instance of MR::BaseShellParameters to a derived class MR::SharpOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_doubleOffsetMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_doubleOffsetMesh ( const MR_MeshPart * mp,
float offsetA,
float offsetB,
const MR_OffsetParameters * params )

Offsets mesh by converting it to voxels and back two times only closed meshes allowed (only Offset mode) typically offsetA and offsetB have distinct signs Generated from function MR::doubleOffsetMesh. Parameter mp 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_generalOffsetMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_generalOffsetMesh ( const MR_MeshPart * mp,
float offset,
const MR_GeneralOffsetParameters * params )

Offsets mesh by converting it to voxels and back using one of three modes specified in the parameters

Generated from function MR::generalOffsetMesh. Parameter mp can not be null. It is a single object. Parameter params can not be null. It is a single object. 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_GeneralOffsetParameters_AssignFromAnother()

MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_AssignFromAnother ( MR_GeneralOffsetParameters * _this,
MR_PassBy _other_pass_by,
MR_GeneralOffsetParameters * _other )

Generated from a method of class MR::GeneralOffsetParameters named operator=. 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_GeneralOffsetParameters_ConstructFromAnother()

MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_GeneralOffsetParameters * _other )

Generated from a constructor of class MR::GeneralOffsetParameters. Never returns null. Returns an instance allocated on the heap! Must call MR_GeneralOffsetParameters_Destroy() to free it when you're done using it.

◆ MR_GeneralOffsetParameters_DefaultConstruct()

MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_DefaultConstruct ( void )

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

◆ MR_GeneralOffsetParameters_DefaultConstructArray()

MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_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_GeneralOffsetParameters_DestroyArray(). Use MR_GeneralOffsetParameters_OffsetMutablePtr() and MR_GeneralOffsetParameters_OffsetPtr() to access the array elements.

◆ MR_GeneralOffsetParameters_Destroy()

MRC_API void MR_GeneralOffsetParameters_Destroy ( const MR_GeneralOffsetParameters * _this)

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

◆ MR_GeneralOffsetParameters_DestroyArray()

MRC_API void MR_GeneralOffsetParameters_DestroyArray ( const MR_GeneralOffsetParameters * _this)

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

◆ MR_GeneralOffsetParameters_Get_mode()

MRC_API const MR_OffsetMode * MR_GeneralOffsetParameters_Get_mode ( const MR_GeneralOffsetParameters * _this)

Returns a pointer to a member variable of class MR::GeneralOffsetParameters named mode. 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_GeneralOffsetParameters_GetMutable_mode()

MRC_API MR_OffsetMode * MR_GeneralOffsetParameters_GetMutable_mode ( MR_GeneralOffsetParameters * _this)

Returns a mutable pointer to a member variable of class MR::GeneralOffsetParameters named mode. 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_GeneralOffsetParameters_MutableUpcastTo_MR_BaseShellParameters()

MRC_API MR_BaseShellParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_BaseShellParameters ( MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::BaseShellParameters.

◆ MR_GeneralOffsetParameters_MutableUpcastTo_MR_OffsetParameters()

MRC_API MR_OffsetParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_OffsetParameters ( MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::OffsetParameters.

◆ MR_GeneralOffsetParameters_MutableUpcastTo_MR_SharpOffsetParameters()

MRC_API MR_SharpOffsetParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_SharpOffsetParameters ( MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::SharpOffsetParameters.

◆ MR_GeneralOffsetParameters_OffsetMutablePtr()

MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_OffsetMutablePtr ( MR_GeneralOffsetParameters * 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.

◆ MR_GeneralOffsetParameters_OffsetPtr()

MRC_API const MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_OffsetPtr ( const MR_GeneralOffsetParameters * 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.

◆ MR_GeneralOffsetParameters_Set_mode()

MRC_API void MR_GeneralOffsetParameters_Set_mode ( MR_GeneralOffsetParameters * _this,
MR_OffsetMode value )

Modifies a member variable of class MR::GeneralOffsetParameters named mode. Parameter _this can not be null. It is a single object.

◆ MR_GeneralOffsetParameters_UpcastTo_MR_BaseShellParameters()

MRC_API const MR_BaseShellParameters * MR_GeneralOffsetParameters_UpcastTo_MR_BaseShellParameters ( const MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::BaseShellParameters. This version is acting on mutable pointers.

◆ MR_GeneralOffsetParameters_UpcastTo_MR_OffsetParameters()

MRC_API const MR_OffsetParameters * MR_GeneralOffsetParameters_UpcastTo_MR_OffsetParameters ( const MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::OffsetParameters. This version is acting on mutable pointers.

◆ MR_GeneralOffsetParameters_UpcastTo_MR_SharpOffsetParameters()

MRC_API const MR_SharpOffsetParameters * MR_GeneralOffsetParameters_UpcastTo_MR_SharpOffsetParameters ( const MR_GeneralOffsetParameters * object)

Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::SharpOffsetParameters. This version is acting on mutable pointers.

◆ MR_mcOffsetMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_mcOffsetMesh ( const MR_MeshPart * mp,
float offset,
const MR_OffsetParameters * params,
MR_Vector_MR_VoxelId_MR_FaceId * outMap )

Offsets mesh by converting it to distance field in voxels (using OpenVDB library if SignDetectionMode::OpenVDB or our implementation otherwise) and back using standard Marching Cubes, as opposed to Dual Marching Cubes in offsetMesh(...) Generated from function MR::mcOffsetMesh. Parameter mp 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. Parameter outMap defaults to a null pointer in C++. 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_mcShellMeshRegion()

MRC_API MR_expected_MR_Mesh_std_string * MR_mcShellMeshRegion ( const MR_Mesh * mesh,
const MR_FaceBitSet * region,
float offset,
const MR_BaseShellParameters * params,
MR_Vector_MR_VoxelId_MR_FaceId * outMap )

Constructs a shell around selected mesh region with the properties that every point on the shall must

  1. be located not further than given distance from selected mesh part,
  2. be located not closer to not-selected mesh part than to selected mesh part. Generated from function MR::mcShellMeshRegion. Parameter mesh can not be null. It is a single object. Parameter region can not be null. It is a single object. Parameter params can not be null. It is a single object. Parameter outMap defaults to a null pointer in C++. 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_offsetMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_offsetMesh ( const MR_MeshPart * mp,
float offset,
const MR_OffsetParameters * params )

Offsets mesh by converting it to distance field in voxels using OpenVDB library, signDetectionMode = Unsigned(from OpenVDB) | OpenVDB | HoleWindingRule, and then converts back using OpenVDB library (dual marching cubes), so result mesh is always closed Generated from function MR::offsetMesh. Parameter mp 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_offsetOneDirection()

MRC_API MR_expected_MR_Mesh_std_string * MR_offsetOneDirection ( const MR_MeshPart * mp,
float offset,
const MR_GeneralOffsetParameters * params )

offsets given MeshPart in one direction only (positive or negative) if your input mesh is open then please specify params.signDetectionMode = SignDetectionMode::Unsigned if your input mesh is closed this function is equivalent to generalOffsetMesh, but in SignDetectionMode::Unsigned mode it will only keep one side (just like for open mesh) unlike thickenMesh this functions does not keep original mesh in result Generated from function MR::offsetOneDirection. Parameter mp 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_OffsetParameters_AssignFromAnother()

MRC_API MR_OffsetParameters * MR_OffsetParameters_AssignFromAnother ( MR_OffsetParameters * _this,
MR_PassBy _other_pass_by,
MR_OffsetParameters * _other )

Generated from a method of class MR::OffsetParameters named operator=. 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_OffsetParameters_ConstructFromAnother()

MRC_API MR_OffsetParameters * MR_OffsetParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_OffsetParameters * _other )

Generated from a constructor of class MR::OffsetParameters. Never returns null. Returns an instance allocated on the heap! Must call MR_OffsetParameters_Destroy() to free it when you're done using it.

◆ MR_OffsetParameters_DefaultConstruct()

MRC_API MR_OffsetParameters * MR_OffsetParameters_DefaultConstruct ( void )

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

◆ MR_OffsetParameters_DefaultConstructArray()

MRC_API MR_OffsetParameters * MR_OffsetParameters_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_OffsetParameters_DestroyArray(). Use MR_OffsetParameters_OffsetMutablePtr() and MR_OffsetParameters_OffsetPtr() to access the array elements.

◆ MR_OffsetParameters_Destroy()

MRC_API void MR_OffsetParameters_Destroy ( const MR_OffsetParameters * _this)

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

◆ MR_OffsetParameters_DestroyArray()

MRC_API void MR_OffsetParameters_DestroyArray ( const MR_OffsetParameters * _this)

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

◆ MR_OffsetParameters_Get_closeHolesInHoleWindingNumber()

MRC_API const bool * MR_OffsetParameters_Get_closeHolesInHoleWindingNumber ( const MR_OffsetParameters * _this)

whether to construct closed mesh in signMode = SignDetectionModeShort::HoleWindingNumber Returns a pointer to a member variable of class MR::OffsetParameters named closeHolesInHoleWindingNumber. 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_OffsetParameters_Get_fwn()

MRC_API const MR_std_shared_ptr_MR_IFastWindingNumber * MR_OffsetParameters_Get_fwn ( const MR_OffsetParameters * _this)

defines particular implementation of IFastWindingNumber interface that will compute windings. If it is not specified, default FastWindingNumber is used this only used if signDetectionMode == SignDetectionMode::HoleWindingRule, otherwise it is ignored providing this will disable memoryEfficient (as if memoryEfficient == false) Returns a pointer to a member variable of class MR::OffsetParameters named fwn. 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_OffsetParameters_Get_memoryEfficient()

MRC_API const bool * MR_OffsetParameters_Get_memoryEfficient ( const MR_OffsetParameters * _this)

use FunctionVolume for voxel grid representation:

  • memory consumption for voxel storage is approx. (dims.z / (2 * thread_count)) lesser
  • computations are about 15% slower (because some z-layers are computed twice) this setting is ignored (as if memoryEfficient == false) if a) signDetectionMode = SignDetectionMode::OpenVDB, or b) fwn is provided (CUDA computations require full memory storage) used only by mcOffsetMesh and sharpOffsetMesh methods Returns a pointer to a member variable of class MR::OffsetParameters named memoryEfficient. 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_OffsetParameters_Get_signDetectionMode()

MRC_API const MR_SignDetectionMode * MR_OffsetParameters_Get_signDetectionMode ( const MR_OffsetParameters * _this)

determines the method to compute distance sign Returns a pointer to a member variable of class MR::OffsetParameters named signDetectionMode. 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_OffsetParameters_Get_windingNumberBeta()

MRC_API const float * MR_OffsetParameters_Get_windingNumberBeta ( const MR_OffsetParameters * _this)

only for SignDetectionMode::HoleWindingRule: determines the precision of fast approximation: the more the better, minimum value is 1 Returns a pointer to a member variable of class MR::OffsetParameters named windingNumberBeta. 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_OffsetParameters_Get_windingNumberThreshold()

MRC_API const float * MR_OffsetParameters_Get_windingNumberThreshold ( const MR_OffsetParameters * _this)

only for SignDetectionMode::HoleWindingRule: positive distance if winding number below or equal this threshold; ideal threshold: 0.5 for closed meshes; 0.0 for planar meshes Returns a pointer to a member variable of class MR::OffsetParameters named windingNumberThreshold. 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_OffsetParameters_GetMutable_closeHolesInHoleWindingNumber()

MRC_API bool * MR_OffsetParameters_GetMutable_closeHolesInHoleWindingNumber ( MR_OffsetParameters * _this)

whether to construct closed mesh in signMode = SignDetectionModeShort::HoleWindingNumber Returns a mutable pointer to a member variable of class MR::OffsetParameters named closeHolesInHoleWindingNumber. 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_OffsetParameters_GetMutable_fwn()

MRC_API MR_std_shared_ptr_MR_IFastWindingNumber * MR_OffsetParameters_GetMutable_fwn ( MR_OffsetParameters * _this)

defines particular implementation of IFastWindingNumber interface that will compute windings. If it is not specified, default FastWindingNumber is used this only used if signDetectionMode == SignDetectionMode::HoleWindingRule, otherwise it is ignored providing this will disable memoryEfficient (as if memoryEfficient == false) Returns a mutable pointer to a member variable of class MR::OffsetParameters named fwn. 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_OffsetParameters_GetMutable_memoryEfficient()

MRC_API bool * MR_OffsetParameters_GetMutable_memoryEfficient ( MR_OffsetParameters * _this)

use FunctionVolume for voxel grid representation:

  • memory consumption for voxel storage is approx. (dims.z / (2 * thread_count)) lesser
  • computations are about 15% slower (because some z-layers are computed twice) this setting is ignored (as if memoryEfficient == false) if a) signDetectionMode = SignDetectionMode::OpenVDB, or b) fwn is provided (CUDA computations require full memory storage) used only by mcOffsetMesh and sharpOffsetMesh methods Returns a mutable pointer to a member variable of class MR::OffsetParameters named memoryEfficient. 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_OffsetParameters_GetMutable_signDetectionMode()

MRC_API MR_SignDetectionMode * MR_OffsetParameters_GetMutable_signDetectionMode ( MR_OffsetParameters * _this)

determines the method to compute distance sign Returns a mutable pointer to a member variable of class MR::OffsetParameters named signDetectionMode. 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_OffsetParameters_GetMutable_windingNumberBeta()

MRC_API float * MR_OffsetParameters_GetMutable_windingNumberBeta ( MR_OffsetParameters * _this)

only for SignDetectionMode::HoleWindingRule: determines the precision of fast approximation: the more the better, minimum value is 1 Returns a mutable pointer to a member variable of class MR::OffsetParameters named windingNumberBeta. 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_OffsetParameters_GetMutable_windingNumberThreshold()

MRC_API float * MR_OffsetParameters_GetMutable_windingNumberThreshold ( MR_OffsetParameters * _this)

only for SignDetectionMode::HoleWindingRule: positive distance if winding number below or equal this threshold; ideal threshold: 0.5 for closed meshes; 0.0 for planar meshes Returns a mutable pointer to a member variable of class MR::OffsetParameters named windingNumberThreshold. 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_OffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API MR_GeneralOffsetParameters * MR_OffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters ( MR_OffsetParameters * object)

Downcasts an instance of MR::OffsetParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_OffsetParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters()

MRC_API MR_SharpOffsetParameters * MR_OffsetParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters ( MR_OffsetParameters * object)

Downcasts an instance of MR::OffsetParameters to a derived class MR::SharpOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_OffsetParameters_MutableUpcastTo_MR_BaseShellParameters()

MRC_API MR_BaseShellParameters * MR_OffsetParameters_MutableUpcastTo_MR_BaseShellParameters ( MR_OffsetParameters * object)

Upcasts an instance of MR::OffsetParameters to its base class MR::BaseShellParameters.

◆ MR_OffsetParameters_OffsetMutablePtr()

MRC_API MR_OffsetParameters * MR_OffsetParameters_OffsetMutablePtr ( MR_OffsetParameters * 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.

◆ MR_OffsetParameters_OffsetPtr()

MRC_API const MR_OffsetParameters * MR_OffsetParameters_OffsetPtr ( const MR_OffsetParameters * 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.

◆ MR_OffsetParameters_Set_closeHolesInHoleWindingNumber()

MRC_API void MR_OffsetParameters_Set_closeHolesInHoleWindingNumber ( MR_OffsetParameters * _this,
bool value )

whether to construct closed mesh in signMode = SignDetectionModeShort::HoleWindingNumber Modifies a member variable of class MR::OffsetParameters named closeHolesInHoleWindingNumber. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_Set_fwn()

MRC_API void MR_OffsetParameters_Set_fwn ( MR_OffsetParameters * _this,
MR_PassBy value_pass_by,
MR_std_shared_ptr_MR_IFastWindingNumber * value )

defines particular implementation of IFastWindingNumber interface that will compute windings. If it is not specified, default FastWindingNumber is used this only used if signDetectionMode == SignDetectionMode::HoleWindingRule, otherwise it is ignored providing this will disable memoryEfficient (as if memoryEfficient == false) Modifies a member variable of class MR::OffsetParameters named fwn. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_Set_memoryEfficient()

MRC_API void MR_OffsetParameters_Set_memoryEfficient ( MR_OffsetParameters * _this,
bool value )

use FunctionVolume for voxel grid representation:

  • memory consumption for voxel storage is approx. (dims.z / (2 * thread_count)) lesser
  • computations are about 15% slower (because some z-layers are computed twice) this setting is ignored (as if memoryEfficient == false) if a) signDetectionMode = SignDetectionMode::OpenVDB, or b) fwn is provided (CUDA computations require full memory storage) used only by mcOffsetMesh and sharpOffsetMesh methods Modifies a member variable of class MR::OffsetParameters named memoryEfficient. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_Set_signDetectionMode()

MRC_API void MR_OffsetParameters_Set_signDetectionMode ( MR_OffsetParameters * _this,
MR_SignDetectionMode value )

determines the method to compute distance sign Modifies a member variable of class MR::OffsetParameters named signDetectionMode. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_Set_windingNumberBeta()

MRC_API void MR_OffsetParameters_Set_windingNumberBeta ( MR_OffsetParameters * _this,
float value )

only for SignDetectionMode::HoleWindingRule: determines the precision of fast approximation: the more the better, minimum value is 1 Modifies a member variable of class MR::OffsetParameters named windingNumberBeta. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_Set_windingNumberThreshold()

MRC_API void MR_OffsetParameters_Set_windingNumberThreshold ( MR_OffsetParameters * _this,
float value )

only for SignDetectionMode::HoleWindingRule: positive distance if winding number below or equal this threshold; ideal threshold: 0.5 for closed meshes; 0.0 for planar meshes Modifies a member variable of class MR::OffsetParameters named windingNumberThreshold. Parameter _this can not be null. It is a single object.

◆ MR_OffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API const MR_GeneralOffsetParameters * MR_OffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters ( const MR_OffsetParameters * object)

Downcasts an instance of MR::OffsetParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_OffsetParameters_StaticDowncastTo_MR_SharpOffsetParameters()

MRC_API const MR_SharpOffsetParameters * MR_OffsetParameters_StaticDowncastTo_MR_SharpOffsetParameters ( const MR_OffsetParameters * object)

Downcasts an instance of MR::OffsetParameters to a derived class MR::SharpOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_OffsetParameters_UpcastTo_MR_BaseShellParameters()

MRC_API const MR_BaseShellParameters * MR_OffsetParameters_UpcastTo_MR_BaseShellParameters ( const MR_OffsetParameters * object)

Upcasts an instance of MR::OffsetParameters to its base class MR::BaseShellParameters. This version is acting on mutable pointers.

◆ MR_offsetPolyline()

MRC_API MR_expected_MR_Mesh_std_string * MR_offsetPolyline ( const MR_Polyline3 * polyline,
float offset,
const MR_OffsetParameters * params )

Offsets polyline by converting it to voxels and building iso-surface do offset in all directions so result mesh is always closed params.signDetectionMode is ignored (always assumed SignDetectionMode::Unsigned) Generated from function MR::offsetPolyline. Parameter polyline 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_sharpOffsetMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_sharpOffsetMesh ( const MR_MeshPart * mp,
float offset,
const MR_SharpOffsetParameters * params )

Offsets mesh by converting it to voxels and back post process result using reference mesh to sharpen features Generated from function MR::sharpOffsetMesh. Parameter mp 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_SharpOffsetParameters_AssignFromAnother()

MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_AssignFromAnother ( MR_SharpOffsetParameters * _this,
MR_PassBy _other_pass_by,
MR_SharpOffsetParameters * _other )

Generated from a method of class MR::SharpOffsetParameters named operator=. 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_SharpOffsetParameters_ConstructFromAnother()

MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_SharpOffsetParameters * _other )

Generated from a constructor of class MR::SharpOffsetParameters. Never returns null. Returns an instance allocated on the heap! Must call MR_SharpOffsetParameters_Destroy() to free it when you're done using it.

◆ MR_SharpOffsetParameters_DefaultConstruct()

MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_DefaultConstruct ( void )

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

◆ MR_SharpOffsetParameters_DefaultConstructArray()

MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_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_SharpOffsetParameters_DestroyArray(). Use MR_SharpOffsetParameters_OffsetMutablePtr() and MR_SharpOffsetParameters_OffsetPtr() to access the array elements.

◆ MR_SharpOffsetParameters_Destroy()

MRC_API void MR_SharpOffsetParameters_Destroy ( const MR_SharpOffsetParameters * _this)

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

◆ MR_SharpOffsetParameters_DestroyArray()

MRC_API void MR_SharpOffsetParameters_DestroyArray ( const MR_SharpOffsetParameters * _this)

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

◆ MR_SharpOffsetParameters_Get_maxNewRank2VertDev()

MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank2VertDev ( const MR_SharpOffsetParameters * _this)

maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes), measured in voxelSize Returns a pointer to a member variable of class MR::SharpOffsetParameters named maxNewRank2VertDev. 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_SharpOffsetParameters_Get_maxNewRank3VertDev()

MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank3VertDev ( const MR_SharpOffsetParameters * _this)

maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes), measured in voxelSize Returns a pointer to a member variable of class MR::SharpOffsetParameters named maxNewRank3VertDev. 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_SharpOffsetParameters_Get_maxOldVertPosCorrection()

MRC_API const float * MR_SharpOffsetParameters_Get_maxOldVertPosCorrection ( const MR_SharpOffsetParameters * _this)

correct positions of the input vertices using reference mesh by not more than this distance, measured in voxelSize; big correction can be wrong and result from self-intersections in the reference mesh Returns a pointer to a member variable of class MR::SharpOffsetParameters named maxOldVertPosCorrection. 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_SharpOffsetParameters_Get_minNewVertDev()

MRC_API const float * MR_SharpOffsetParameters_Get_minNewVertDev ( const MR_SharpOffsetParameters * _this)

minimal surface deviation to introduce new vertex in a voxel, measured in voxelSize Returns a pointer to a member variable of class MR::SharpOffsetParameters named minNewVertDev. 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_SharpOffsetParameters_Get_outSharpEdges()

MRC_API MR_UndirectedEdgeBitSet *const * MR_SharpOffsetParameters_Get_outSharpEdges ( const MR_SharpOffsetParameters * _this)

if non-null then created sharp edges will be saved here Returns a pointer to a member variable of class MR::SharpOffsetParameters named outSharpEdges. 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_SharpOffsetParameters_GetMutable_maxNewRank2VertDev()

MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank2VertDev ( MR_SharpOffsetParameters * _this)

maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes), measured in voxelSize Returns a mutable pointer to a member variable of class MR::SharpOffsetParameters named maxNewRank2VertDev. 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_SharpOffsetParameters_GetMutable_maxNewRank3VertDev()

MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank3VertDev ( MR_SharpOffsetParameters * _this)

maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes), measured in voxelSize Returns a mutable pointer to a member variable of class MR::SharpOffsetParameters named maxNewRank3VertDev. 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_SharpOffsetParameters_GetMutable_maxOldVertPosCorrection()

MRC_API float * MR_SharpOffsetParameters_GetMutable_maxOldVertPosCorrection ( MR_SharpOffsetParameters * _this)

correct positions of the input vertices using reference mesh by not more than this distance, measured in voxelSize; big correction can be wrong and result from self-intersections in the reference mesh Returns a mutable pointer to a member variable of class MR::SharpOffsetParameters named maxOldVertPosCorrection. 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_SharpOffsetParameters_GetMutable_minNewVertDev()

MRC_API float * MR_SharpOffsetParameters_GetMutable_minNewVertDev ( MR_SharpOffsetParameters * _this)

minimal surface deviation to introduce new vertex in a voxel, measured in voxelSize Returns a mutable pointer to a member variable of class MR::SharpOffsetParameters named minNewVertDev. 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_SharpOffsetParameters_GetMutable_outSharpEdges()

MRC_API MR_UndirectedEdgeBitSet ** MR_SharpOffsetParameters_GetMutable_outSharpEdges ( MR_SharpOffsetParameters * _this)

if non-null then created sharp edges will be saved here Returns a mutable pointer to a member variable of class MR::SharpOffsetParameters named outSharpEdges. 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_SharpOffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API MR_GeneralOffsetParameters * MR_SharpOffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters ( MR_SharpOffsetParameters * object)

Downcasts an instance of MR::SharpOffsetParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise.

◆ MR_SharpOffsetParameters_MutableUpcastTo_MR_BaseShellParameters()

MRC_API MR_BaseShellParameters * MR_SharpOffsetParameters_MutableUpcastTo_MR_BaseShellParameters ( MR_SharpOffsetParameters * object)

Upcasts an instance of MR::SharpOffsetParameters to its base class MR::BaseShellParameters.

◆ MR_SharpOffsetParameters_MutableUpcastTo_MR_OffsetParameters()

MRC_API MR_OffsetParameters * MR_SharpOffsetParameters_MutableUpcastTo_MR_OffsetParameters ( MR_SharpOffsetParameters * object)

Upcasts an instance of MR::SharpOffsetParameters to its base class MR::OffsetParameters.

◆ MR_SharpOffsetParameters_OffsetMutablePtr()

MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_OffsetMutablePtr ( MR_SharpOffsetParameters * 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.

◆ MR_SharpOffsetParameters_OffsetPtr()

MRC_API const MR_SharpOffsetParameters * MR_SharpOffsetParameters_OffsetPtr ( const MR_SharpOffsetParameters * 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.

◆ MR_SharpOffsetParameters_Set_maxNewRank2VertDev()

MRC_API void MR_SharpOffsetParameters_Set_maxNewRank2VertDev ( MR_SharpOffsetParameters * _this,
float value )

maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes), measured in voxelSize Modifies a member variable of class MR::SharpOffsetParameters named maxNewRank2VertDev. Parameter _this can not be null. It is a single object.

◆ MR_SharpOffsetParameters_Set_maxNewRank3VertDev()

MRC_API void MR_SharpOffsetParameters_Set_maxNewRank3VertDev ( MR_SharpOffsetParameters * _this,
float value )

maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes), measured in voxelSize Modifies a member variable of class MR::SharpOffsetParameters named maxNewRank3VertDev. Parameter _this can not be null. It is a single object.

◆ MR_SharpOffsetParameters_Set_maxOldVertPosCorrection()

MRC_API void MR_SharpOffsetParameters_Set_maxOldVertPosCorrection ( MR_SharpOffsetParameters * _this,
float value )

correct positions of the input vertices using reference mesh by not more than this distance, measured in voxelSize; big correction can be wrong and result from self-intersections in the reference mesh Modifies a member variable of class MR::SharpOffsetParameters named maxOldVertPosCorrection. Parameter _this can not be null. It is a single object.

◆ MR_SharpOffsetParameters_Set_minNewVertDev()

MRC_API void MR_SharpOffsetParameters_Set_minNewVertDev ( MR_SharpOffsetParameters * _this,
float value )

minimal surface deviation to introduce new vertex in a voxel, measured in voxelSize Modifies a member variable of class MR::SharpOffsetParameters named minNewVertDev. Parameter _this can not be null. It is a single object.

◆ MR_SharpOffsetParameters_Set_outSharpEdges()

MRC_API void MR_SharpOffsetParameters_Set_outSharpEdges ( MR_SharpOffsetParameters * _this,
MR_UndirectedEdgeBitSet * value )

if non-null then created sharp edges will be saved here Modifies a member variable of class MR::SharpOffsetParameters named outSharpEdges. Parameter _this can not be null. It is a single object.

◆ MR_SharpOffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters()

MRC_API const MR_GeneralOffsetParameters * MR_SharpOffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters ( const MR_SharpOffsetParameters * object)

Downcasts an instance of MR::SharpOffsetParameters to a derived class MR::GeneralOffsetParameters. This is a static downcast, it trusts the programmer that the target type is correct. Results in UB and returns an invalid pointer otherwise. This version is acting on mutable pointers.

◆ MR_SharpOffsetParameters_UpcastTo_MR_BaseShellParameters()

MRC_API const MR_BaseShellParameters * MR_SharpOffsetParameters_UpcastTo_MR_BaseShellParameters ( const MR_SharpOffsetParameters * object)

Upcasts an instance of MR::SharpOffsetParameters to its base class MR::BaseShellParameters. This version is acting on mutable pointers.

◆ MR_SharpOffsetParameters_UpcastTo_MR_OffsetParameters()

MRC_API const MR_OffsetParameters * MR_SharpOffsetParameters_UpcastTo_MR_OffsetParameters ( const MR_SharpOffsetParameters * object)

Upcasts an instance of MR::SharpOffsetParameters to its base class MR::OffsetParameters. This version is acting on mutable pointers.

◆ MR_suggestVoxelSize()

MRC_API float MR_suggestVoxelSize ( const MR_MeshPart * mp,
float approxNumVoxels )

computes size of a cubical voxel to get approximately given number of voxels during rasterization Generated from function MR::suggestVoxelSize. Parameter mp can not be null. It is a single object.

◆ MR_thickenMesh()

MRC_API MR_expected_MR_Mesh_std_string * MR_thickenMesh ( const MR_Mesh * mesh,
float offset,
const MR_GeneralOffsetParameters * params )

in case of positive offset, returns the mesh consisting of offset mesh merged with inversed original mesh (thickening mode); in case of negative offset, returns the mesh consisting of inversed offset mesh merged with original mesh (hollowing mode); if your input mesh is open then please specify params.signDetectionMode = SignDetectionMode::Unsigned, and you will get open mesh (with several components) on output if your input mesh is closed then please specify another sign detection mode, and you will get closed mesh (with several components) on output; Generated from function MR::thickenMesh. Parameter mesh 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.