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

Go to the source code of this file.

Typedefs

typedef struct MR_Mesh MR_Mesh
 
typedef struct MR_MeshTopology MR_MeshTopology
 
typedef struct MR_VertBitSet MR_VertBitSet
 
typedef struct MR_VertCoords MR_VertCoords
 
typedef struct MR_VertScalars MR_VertScalars
 
typedef struct MR_std_function_bool_from_MR_FaceId MR_std_function_bool_from_MR_FaceId
 
typedef struct MR_std_function_float_from_MR_UndirectedEdgeId MR_std_function_float_from_MR_UndirectedEdgeId
 
typedef struct MR_SpacingSettings MR_SpacingSettings
 Generated from class MR::SpacingSettings.
 
typedef struct MR_InflateSettings MR_InflateSettings
 Generated from class MR::InflateSettings.
 

Functions

MRC_API void MR_positionVertsSmoothly_5 (MR_Mesh *mesh, const MR_VertBitSet *verts, const MR_EdgeWeights *edgeWeights, const MR_VertexMass *vmass, const MR_VertBitSet *fixedSharpVertices)
 
MRC_API void MR_positionVertsSmoothly_6 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_VertBitSet *verts, const MR_EdgeWeights *edgeWeights, const MR_VertexMass *vmass, const MR_VertBitSet *fixedSharpVertices)
 
MRC_API void MR_positionVertsSmoothlySharpBd_4 (MR_Mesh *mesh, const MR_VertBitSet *verts, const MR_VertCoords *vertShifts, const MR_VertScalars *vertStabilizers)
 
MRC_API void MR_positionVertsSmoothlySharpBd_5 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_VertBitSet *verts, const MR_VertCoords *vertShifts, const MR_VertScalars *vertStabilizers)
 
MRC_API const MR_VertBitSet *const * MR_SpacingSettings_Get_region (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_region (MR_SpacingSettings *_this, const MR_VertBitSet *value)
 
MRC_API const MR_VertBitSet ** MR_SpacingSettings_GetMutable_region (MR_SpacingSettings *_this)
 
MRC_API const MR_std_function_float_from_MR_UndirectedEdgeIdMR_SpacingSettings_Get_dist (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_dist (MR_SpacingSettings *_this, MR_PassBy value_pass_by, MR_std_function_float_from_MR_UndirectedEdgeId *value)
 
MRC_API MR_std_function_float_from_MR_UndirectedEdgeIdMR_SpacingSettings_GetMutable_dist (MR_SpacingSettings *_this)
 
MRC_API const int32_t * MR_SpacingSettings_Get_numIters (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_numIters (MR_SpacingSettings *_this, int32_t value)
 
MRC_API int32_t * MR_SpacingSettings_GetMutable_numIters (MR_SpacingSettings *_this)
 
MRC_API const float * MR_SpacingSettings_Get_stabilizer (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_stabilizer (MR_SpacingSettings *_this, float value)
 
MRC_API float * MR_SpacingSettings_GetMutable_stabilizer (MR_SpacingSettings *_this)
 
MRC_API const float * MR_SpacingSettings_Get_maxSumNegW (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_maxSumNegW (MR_SpacingSettings *_this, float value)
 
MRC_API float * MR_SpacingSettings_GetMutable_maxSumNegW (MR_SpacingSettings *_this)
 
MRC_API const MR_std_function_bool_from_MR_FaceIdMR_SpacingSettings_Get_isInverted (const MR_SpacingSettings *_this)
 
MRC_API void MR_SpacingSettings_Set_isInverted (MR_SpacingSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_MR_FaceId *value)
 
MRC_API MR_std_function_bool_from_MR_FaceIdMR_SpacingSettings_GetMutable_isInverted (MR_SpacingSettings *_this)
 
MRC_API MR_SpacingSettingsMR_SpacingSettings_DefaultConstruct (void)
 
MRC_API MR_SpacingSettingsMR_SpacingSettings_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_SpacingSettingsMR_SpacingSettings_ConstructFrom (const MR_VertBitSet *region, MR_PassBy dist_pass_by, MR_std_function_float_from_MR_UndirectedEdgeId *dist, int32_t numIters, float stabilizer, float maxSumNegW, MR_PassBy isInverted_pass_by, MR_std_function_bool_from_MR_FaceId *isInverted)
 
MRC_API const MR_SpacingSettingsMR_SpacingSettings_OffsetPtr (const MR_SpacingSettings *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_SpacingSettingsMR_SpacingSettings_OffsetMutablePtr (MR_SpacingSettings *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_SpacingSettingsMR_SpacingSettings_ConstructFromAnother (MR_PassBy _other_pass_by, MR_SpacingSettings *_other)
 
MRC_API void MR_SpacingSettings_Destroy (const MR_SpacingSettings *_this)
 Destroys a heap-allocated instance of MR_SpacingSettings. Does nothing if the pointer is null.
 
MRC_API void MR_SpacingSettings_DestroyArray (const MR_SpacingSettings *_this)
 Destroys a heap-allocated array of MR_SpacingSettings. Does nothing if the pointer is null.
 
MRC_API MR_SpacingSettingsMR_SpacingSettings_AssignFromAnother (MR_SpacingSettings *_this, MR_PassBy _other_pass_by, MR_SpacingSettings *_other)
 
MRC_API void MR_positionVertsWithSpacing_2 (MR_Mesh *mesh, const MR_SpacingSettings *settings)
 
MRC_API void MR_positionVertsWithSpacing_3 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_SpacingSettings *settings)
 
MRC_API const float * MR_InflateSettings_Get_pressure (const MR_InflateSettings *_this)
 
MRC_API void MR_InflateSettings_Set_pressure (MR_InflateSettings *_this, float value)
 
MRC_API float * MR_InflateSettings_GetMutable_pressure (MR_InflateSettings *_this)
 
MRC_API const int32_t * MR_InflateSettings_Get_iterations (const MR_InflateSettings *_this)
 
MRC_API void MR_InflateSettings_Set_iterations (MR_InflateSettings *_this, int32_t value)
 
MRC_API int32_t * MR_InflateSettings_GetMutable_iterations (MR_InflateSettings *_this)
 
MRC_API const bool * MR_InflateSettings_Get_preSmooth (const MR_InflateSettings *_this)
 
MRC_API void MR_InflateSettings_Set_preSmooth (MR_InflateSettings *_this, bool value)
 
MRC_API bool * MR_InflateSettings_GetMutable_preSmooth (MR_InflateSettings *_this)
 
MRC_API const bool * MR_InflateSettings_Get_gradualPressureGrowth (const MR_InflateSettings *_this)
 
MRC_API void MR_InflateSettings_Set_gradualPressureGrowth (MR_InflateSettings *_this, bool value)
 
MRC_API bool * MR_InflateSettings_GetMutable_gradualPressureGrowth (MR_InflateSettings *_this)
 
MRC_API MR_InflateSettingsMR_InflateSettings_DefaultConstruct (void)
 
MRC_API MR_InflateSettingsMR_InflateSettings_DefaultConstructArray (size_t num_elems)
 
MRC_API MR_InflateSettingsMR_InflateSettings_ConstructFrom (float pressure, int32_t iterations, bool preSmooth, bool gradualPressureGrowth)
 
MRC_API const MR_InflateSettingsMR_InflateSettings_OffsetPtr (const MR_InflateSettings *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_InflateSettingsMR_InflateSettings_OffsetMutablePtr (MR_InflateSettings *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_InflateSettingsMR_InflateSettings_ConstructFromAnother (const MR_InflateSettings *_other)
 
MRC_API void MR_InflateSettings_Destroy (const MR_InflateSettings *_this)
 Destroys a heap-allocated instance of MR_InflateSettings. Does nothing if the pointer is null.
 
MRC_API void MR_InflateSettings_DestroyArray (const MR_InflateSettings *_this)
 Destroys a heap-allocated array of MR_InflateSettings. Does nothing if the pointer is null.
 
MRC_API MR_InflateSettingsMR_InflateSettings_AssignFromAnother (MR_InflateSettings *_this, const MR_InflateSettings *_other)
 
MRC_API void MR_inflate_3 (MR_Mesh *mesh, const MR_VertBitSet *verts, const MR_InflateSettings *settings)
 
MRC_API void MR_inflate_4 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_VertBitSet *verts, const MR_InflateSettings *settings)
 
MRC_API void MR_inflate1 (const MR_MeshTopology *topology, MR_VertCoords *points, const MR_VertBitSet *verts, float pressure)
 

Typedef Documentation

◆ MR_InflateSettings

Generated from class MR::InflateSettings.

◆ MR_Mesh

typedef struct MR_Mesh MR_Mesh

◆ MR_MeshTopology

◆ MR_SpacingSettings

Generated from class MR::SpacingSettings.

◆ MR_std_function_bool_from_MR_FaceId

◆ MR_std_function_float_from_MR_UndirectedEdgeId

◆ MR_VertBitSet

typedef struct MR_VertBitSet MR_VertBitSet

◆ MR_VertCoords

typedef struct MR_VertCoords MR_VertCoords

◆ MR_VertScalars

Function Documentation

◆ MR_inflate1()

MRC_API void MR_inflate1 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_VertBitSet * verts,
float pressure )

Inflates (in one of two sides) given mesh region, putting given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary; this function makes just 1 iteration of inflation and is used inside inflate(...) Generated from function MR::inflate1. Parameter topology can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter verts can not be null. It is a single object.

◆ MR_inflate_3()

MRC_API void MR_inflate_3 ( MR_Mesh * mesh,
const MR_VertBitSet * verts,
const MR_InflateSettings * settings )

Inflates (in one of two sides) given mesh region, putting given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary;

Parameters
vertsmust not include all vertices of a mesh connected component Generated from function MR::inflate. Parameter mesh can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter settings can not be null. It is a single object.

◆ MR_inflate_4()

MRC_API void MR_inflate_4 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_VertBitSet * verts,
const MR_InflateSettings * settings )

Generated from function MR::inflate. Parameter topology can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter settings can not be null. It is a single object.

◆ MR_InflateSettings_AssignFromAnother()

MRC_API MR_InflateSettings * MR_InflateSettings_AssignFromAnother ( MR_InflateSettings * _this,
const MR_InflateSettings * _other )

Generated from a method of class MR::InflateSettings named operator=. Parameter _this can not be null. It is a single object. Parameter _other 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_InflateSettings_ConstructFrom()

MRC_API MR_InflateSettings * MR_InflateSettings_ConstructFrom ( float pressure,
int32_t iterations,
bool preSmooth,
bool gradualPressureGrowth )

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

◆ MR_InflateSettings_ConstructFromAnother()

MRC_API MR_InflateSettings * MR_InflateSettings_ConstructFromAnother ( const MR_InflateSettings * _other)

Generated from a constructor of class MR::InflateSettings. Parameter _other can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_InflateSettings_Destroy() to free it when you're done using it.

◆ MR_InflateSettings_DefaultConstruct()

MRC_API MR_InflateSettings * MR_InflateSettings_DefaultConstruct ( void )

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

◆ MR_InflateSettings_DefaultConstructArray()

MRC_API MR_InflateSettings * MR_InflateSettings_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_InflateSettings_DestroyArray(). Use MR_InflateSettings_OffsetMutablePtr() and MR_InflateSettings_OffsetPtr() to access the array elements.

◆ MR_InflateSettings_Destroy()

MRC_API void MR_InflateSettings_Destroy ( const MR_InflateSettings * _this)

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

◆ MR_InflateSettings_DestroyArray()

MRC_API void MR_InflateSettings_DestroyArray ( const MR_InflateSettings * _this)

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

◆ MR_InflateSettings_Get_gradualPressureGrowth()

MRC_API const bool * MR_InflateSettings_Get_gradualPressureGrowth ( const MR_InflateSettings * _this)

whether to increase the pressure gradually during the iterations (recommended for best quality) Returns a pointer to a member variable of class MR::InflateSettings named gradualPressureGrowth. 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_InflateSettings_Get_iterations()

MRC_API const int32_t * MR_InflateSettings_Get_iterations ( const MR_InflateSettings * _this)

the number of internal iterations (>=1); larger number of iterations makes the performance slower, but the quality better Returns a pointer to a member variable of class MR::InflateSettings named iterations. 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_InflateSettings_Get_preSmooth()

MRC_API const bool * MR_InflateSettings_Get_preSmooth ( const MR_InflateSettings * _this)

smooths the area before starting inflation; please set to false only if the region is known to be already smooth Returns a pointer to a member variable of class MR::InflateSettings named preSmooth. 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_InflateSettings_Get_pressure()

MRC_API const float * MR_InflateSettings_Get_pressure ( const MR_InflateSettings * _this)

the amount of pressure applied to mesh region: positive pressure moves the vertices outside, negative - inside; please specify a value by magnitude about the region diagonal Returns a pointer to a member variable of class MR::InflateSettings named pressure. 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_InflateSettings_GetMutable_gradualPressureGrowth()

MRC_API bool * MR_InflateSettings_GetMutable_gradualPressureGrowth ( MR_InflateSettings * _this)

whether to increase the pressure gradually during the iterations (recommended for best quality) Returns a mutable pointer to a member variable of class MR::InflateSettings named gradualPressureGrowth. 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_InflateSettings_GetMutable_iterations()

MRC_API int32_t * MR_InflateSettings_GetMutable_iterations ( MR_InflateSettings * _this)

the number of internal iterations (>=1); larger number of iterations makes the performance slower, but the quality better Returns a mutable pointer to a member variable of class MR::InflateSettings named iterations. 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_InflateSettings_GetMutable_preSmooth()

MRC_API bool * MR_InflateSettings_GetMutable_preSmooth ( MR_InflateSettings * _this)

smooths the area before starting inflation; please set to false only if the region is known to be already smooth Returns a mutable pointer to a member variable of class MR::InflateSettings named preSmooth. 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_InflateSettings_GetMutable_pressure()

MRC_API float * MR_InflateSettings_GetMutable_pressure ( MR_InflateSettings * _this)

the amount of pressure applied to mesh region: positive pressure moves the vertices outside, negative - inside; please specify a value by magnitude about the region diagonal Returns a mutable pointer to a member variable of class MR::InflateSettings named pressure. 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_InflateSettings_OffsetMutablePtr()

MRC_API MR_InflateSettings * MR_InflateSettings_OffsetMutablePtr ( MR_InflateSettings * 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_InflateSettings_OffsetPtr()

MRC_API const MR_InflateSettings * MR_InflateSettings_OffsetPtr ( const MR_InflateSettings * 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_InflateSettings_Set_gradualPressureGrowth()

MRC_API void MR_InflateSettings_Set_gradualPressureGrowth ( MR_InflateSettings * _this,
bool value )

whether to increase the pressure gradually during the iterations (recommended for best quality) Modifies a member variable of class MR::InflateSettings named gradualPressureGrowth. Parameter _this can not be null. It is a single object.

◆ MR_InflateSettings_Set_iterations()

MRC_API void MR_InflateSettings_Set_iterations ( MR_InflateSettings * _this,
int32_t value )

the number of internal iterations (>=1); larger number of iterations makes the performance slower, but the quality better Modifies a member variable of class MR::InflateSettings named iterations. Parameter _this can not be null. It is a single object.

◆ MR_InflateSettings_Set_preSmooth()

MRC_API void MR_InflateSettings_Set_preSmooth ( MR_InflateSettings * _this,
bool value )

smooths the area before starting inflation; please set to false only if the region is known to be already smooth Modifies a member variable of class MR::InflateSettings named preSmooth. Parameter _this can not be null. It is a single object.

◆ MR_InflateSettings_Set_pressure()

MRC_API void MR_InflateSettings_Set_pressure ( MR_InflateSettings * _this,
float value )

the amount of pressure applied to mesh region: positive pressure moves the vertices outside, negative - inside; please specify a value by magnitude about the region diagonal Modifies a member variable of class MR::InflateSettings named pressure. Parameter _this can not be null. It is a single object.

◆ MR_positionVertsSmoothly_5()

MRC_API void MR_positionVertsSmoothly_5 ( MR_Mesh * mesh,
const MR_VertBitSet * verts,
const MR_EdgeWeights * edgeWeights,
const MR_VertexMass * vmass,
const MR_VertBitSet * fixedSharpVertices )

Puts given vertices in such positions to make smooth surface both inside verts-region and on its boundary;

Parameters
vertsmust not include all vertices of a mesh connected component
fixedSharpVerticesin these vertices the surface can be not-smooth Generated from function MR::positionVertsSmoothly. Parameter mesh can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter edgeWeights has a default argument: EdgeWeights::Cotan, pass a null pointer to use it. Parameter vmass has a default argument: VertexMass::Unit, pass a null pointer to use it. Parameter fixedSharpVertices defaults to a null pointer in C++.

◆ MR_positionVertsSmoothly_6()

MRC_API void MR_positionVertsSmoothly_6 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_VertBitSet * verts,
const MR_EdgeWeights * edgeWeights,
const MR_VertexMass * vmass,
const MR_VertBitSet * fixedSharpVertices )

Generated from function MR::positionVertsSmoothly. Parameter topology can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter edgeWeights has a default argument: EdgeWeights::Cotan, pass a null pointer to use it. Parameter vmass has a default argument: VertexMass::Unit, pass a null pointer to use it. Parameter fixedSharpVertices defaults to a null pointer in C++.

◆ MR_positionVertsSmoothlySharpBd_4()

MRC_API void MR_positionVertsSmoothlySharpBd_4 ( MR_Mesh * mesh,
const MR_VertBitSet * verts,
const MR_VertCoords * vertShifts,
const MR_VertScalars * vertStabilizers )

Puts given vertices in such positions to make smooth surface inside verts-region, but sharp on its boundary;

Parameters
vertsmust not include all vertices of a mesh connected component unless vertStabilizers are given
vertShiftsoptional additional shifts of each vertex relative to smooth position
vertStabilizersoptional per-vertex stabilizers: the more the value, the bigger vertex attraction to its original position Generated from function MR::positionVertsSmoothlySharpBd. Parameter mesh can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter vertShifts defaults to a null pointer in C++. Parameter vertStabilizers defaults to a null pointer in C++.

◆ MR_positionVertsSmoothlySharpBd_5()

MRC_API void MR_positionVertsSmoothlySharpBd_5 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_VertBitSet * verts,
const MR_VertCoords * vertShifts,
const MR_VertScalars * vertStabilizers )

Generated from function MR::positionVertsSmoothlySharpBd. Parameter topology can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter verts can not be null. It is a single object. Parameter vertShifts defaults to a null pointer in C++. Parameter vertStabilizers defaults to a null pointer in C++.

◆ MR_positionVertsWithSpacing_2()

MRC_API void MR_positionVertsWithSpacing_2 ( MR_Mesh * mesh,
const MR_SpacingSettings * settings )

Moves given vertices to make the distances between them as specified Generated from function MR::positionVertsWithSpacing. Parameter mesh can not be null. It is a single object. Parameter settings can not be null. It is a single object.

◆ MR_positionVertsWithSpacing_3()

MRC_API void MR_positionVertsWithSpacing_3 ( const MR_MeshTopology * topology,
MR_VertCoords * points,
const MR_SpacingSettings * settings )

Generated from function MR::positionVertsWithSpacing. Parameter topology can not be null. It is a single object. Parameter points can not be null. It is a single object. Parameter settings can not be null. It is a single object.

◆ MR_SpacingSettings_AssignFromAnother()

MRC_API MR_SpacingSettings * MR_SpacingSettings_AssignFromAnother ( MR_SpacingSettings * _this,
MR_PassBy _other_pass_by,
MR_SpacingSettings * _other )

Generated from a method of class MR::SpacingSettings 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_SpacingSettings_ConstructFrom()

MRC_API MR_SpacingSettings * MR_SpacingSettings_ConstructFrom ( const MR_VertBitSet * region,
MR_PassBy dist_pass_by,
MR_std_function_float_from_MR_UndirectedEdgeId * dist,
int32_t numIters,
float stabilizer,
float maxSumNegW,
MR_PassBy isInverted_pass_by,
MR_std_function_bool_from_MR_FaceId * isInverted )

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

◆ MR_SpacingSettings_ConstructFromAnother()

MRC_API MR_SpacingSettings * MR_SpacingSettings_ConstructFromAnother ( MR_PassBy _other_pass_by,
MR_SpacingSettings * _other )

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

◆ MR_SpacingSettings_DefaultConstruct()

MRC_API MR_SpacingSettings * MR_SpacingSettings_DefaultConstruct ( void )

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

◆ MR_SpacingSettings_DefaultConstructArray()

MRC_API MR_SpacingSettings * MR_SpacingSettings_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_SpacingSettings_DestroyArray(). Use MR_SpacingSettings_OffsetMutablePtr() and MR_SpacingSettings_OffsetPtr() to access the array elements.

◆ MR_SpacingSettings_Destroy()

MRC_API void MR_SpacingSettings_Destroy ( const MR_SpacingSettings * _this)

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

◆ MR_SpacingSettings_DestroyArray()

MRC_API void MR_SpacingSettings_DestroyArray ( const MR_SpacingSettings * _this)

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

◆ MR_SpacingSettings_Get_dist()

MRC_API const MR_std_function_float_from_MR_UndirectedEdgeId * MR_SpacingSettings_Get_dist ( const MR_SpacingSettings * _this)

Returns a pointer to a member variable of class MR::SpacingSettings named dist. 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_SpacingSettings_Get_isInverted()

MRC_API const MR_std_function_bool_from_MR_FaceId * MR_SpacingSettings_Get_isInverted ( const MR_SpacingSettings * _this)

if this predicated is given, then all inverted faces will be converted in degenerate faces at the end of each iteration Returns a pointer to a member variable of class MR::SpacingSettings named isInverted. 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_SpacingSettings_Get_maxSumNegW()

MRC_API const float * MR_SpacingSettings_Get_maxSumNegW ( const MR_SpacingSettings * _this)

maximum sum of minus negative weights, if it is exceeded then stabilizer is increased automatically Returns a pointer to a member variable of class MR::SpacingSettings named maxSumNegW. 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_SpacingSettings_Get_numIters()

MRC_API const int32_t * MR_SpacingSettings_Get_numIters ( const MR_SpacingSettings * _this)

the algorithm is iterative, the more iterations the closer result to exact solution Returns a pointer to a member variable of class MR::SpacingSettings named numIters. 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_SpacingSettings_Get_region()

MRC_API const MR_VertBitSet *const * MR_SpacingSettings_Get_region ( const MR_SpacingSettings * _this)

vertices to be moved by the algorithm, nullptr means all valid vertices Returns a pointer to a member variable of class MR::SpacingSettings named region. 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_SpacingSettings_Get_stabilizer()

MRC_API const float * MR_SpacingSettings_Get_stabilizer ( const MR_SpacingSettings * _this)

too small number here can lead to instability, too large - to slow convergence Returns a pointer to a member variable of class MR::SpacingSettings named stabilizer. 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_SpacingSettings_GetMutable_dist()

MRC_API MR_std_function_float_from_MR_UndirectedEdgeId * MR_SpacingSettings_GetMutable_dist ( MR_SpacingSettings * _this)

Returns a mutable pointer to a member variable of class MR::SpacingSettings named dist. 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_SpacingSettings_GetMutable_isInverted()

MRC_API MR_std_function_bool_from_MR_FaceId * MR_SpacingSettings_GetMutable_isInverted ( MR_SpacingSettings * _this)

if this predicated is given, then all inverted faces will be converted in degenerate faces at the end of each iteration Returns a mutable pointer to a member variable of class MR::SpacingSettings named isInverted. 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_SpacingSettings_GetMutable_maxSumNegW()

MRC_API float * MR_SpacingSettings_GetMutable_maxSumNegW ( MR_SpacingSettings * _this)

maximum sum of minus negative weights, if it is exceeded then stabilizer is increased automatically Returns a mutable pointer to a member variable of class MR::SpacingSettings named maxSumNegW. 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_SpacingSettings_GetMutable_numIters()

MRC_API int32_t * MR_SpacingSettings_GetMutable_numIters ( MR_SpacingSettings * _this)

the algorithm is iterative, the more iterations the closer result to exact solution Returns a mutable pointer to a member variable of class MR::SpacingSettings named numIters. 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_SpacingSettings_GetMutable_region()

MRC_API const MR_VertBitSet ** MR_SpacingSettings_GetMutable_region ( MR_SpacingSettings * _this)

vertices to be moved by the algorithm, nullptr means all valid vertices Returns a mutable pointer to a member variable of class MR::SpacingSettings named region. 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_SpacingSettings_GetMutable_stabilizer()

MRC_API float * MR_SpacingSettings_GetMutable_stabilizer ( MR_SpacingSettings * _this)

too small number here can lead to instability, too large - to slow convergence Returns a mutable pointer to a member variable of class MR::SpacingSettings named stabilizer. 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_SpacingSettings_OffsetMutablePtr()

MRC_API MR_SpacingSettings * MR_SpacingSettings_OffsetMutablePtr ( MR_SpacingSettings * 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_SpacingSettings_OffsetPtr()

MRC_API const MR_SpacingSettings * MR_SpacingSettings_OffsetPtr ( const MR_SpacingSettings * 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_SpacingSettings_Set_dist()

MRC_API void MR_SpacingSettings_Set_dist ( MR_SpacingSettings * _this,
MR_PassBy value_pass_by,
MR_std_function_float_from_MR_UndirectedEdgeId * value )

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

◆ MR_SpacingSettings_Set_isInverted()

MRC_API void MR_SpacingSettings_Set_isInverted ( MR_SpacingSettings * _this,
MR_PassBy value_pass_by,
MR_std_function_bool_from_MR_FaceId * value )

if this predicated is given, then all inverted faces will be converted in degenerate faces at the end of each iteration Modifies a member variable of class MR::SpacingSettings named isInverted. Parameter _this can not be null. It is a single object.

◆ MR_SpacingSettings_Set_maxSumNegW()

MRC_API void MR_SpacingSettings_Set_maxSumNegW ( MR_SpacingSettings * _this,
float value )

maximum sum of minus negative weights, if it is exceeded then stabilizer is increased automatically Modifies a member variable of class MR::SpacingSettings named maxSumNegW. Parameter _this can not be null. It is a single object.

◆ MR_SpacingSettings_Set_numIters()

MRC_API void MR_SpacingSettings_Set_numIters ( MR_SpacingSettings * _this,
int32_t value )

the algorithm is iterative, the more iterations the closer result to exact solution Modifies a member variable of class MR::SpacingSettings named numIters. Parameter _this can not be null. It is a single object.

◆ MR_SpacingSettings_Set_region()

MRC_API void MR_SpacingSettings_Set_region ( MR_SpacingSettings * _this,
const MR_VertBitSet * value )

vertices to be moved by the algorithm, nullptr means all valid vertices Modifies a member variable of class MR::SpacingSettings named region. Parameter _this can not be null. It is a single object.

◆ MR_SpacingSettings_Set_stabilizer()

MRC_API void MR_SpacingSettings_Set_stabilizer ( MR_SpacingSettings * _this,
float value )

too small number here can lead to instability, too large - to slow convergence Modifies a member variable of class MR::SpacingSettings named stabilizer. Parameter _this can not be null. It is a single object.