Go to the source code of this file.
Typedefs | |
typedef struct MR_Mesh | MR_Mesh |
typedef struct MR_std_function_bool_from_float | MR_std_function_bool_from_float |
typedef struct MR_std_function_float_from_MR_VertId | MR_std_function_float_from_MR_VertId |
typedef struct MR_std_optional_MR_VertCoords | MR_std_optional_MR_VertCoords |
typedef struct MR_std_optional_MR_VertScalars | MR_std_optional_MR_VertScalars |
typedef struct MR_ThickenParams | MR_ThickenParams |
Generated from class MR::ThickenParams . | |
typedef struct MR_ZCompensateParams | MR_ZCompensateParams |
Generated from class MR::ZCompensateParams . | |
typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float |
typedef struct MR_std_optional_MR_VertCoords MR_std_optional_MR_VertCoords |
typedef struct MR_std_optional_MR_VertScalars MR_std_optional_MR_VertScalars |
typedef struct MR_ThickenParams MR_ThickenParams |
Generated from class MR::ThickenParams
.
typedef struct MR_ZCompensateParams MR_ZCompensateParams |
Generated from class MR::ZCompensateParams
.
MRC_API MR_std_optional_MR_VertCoords * MR_findZcompensatedPositions | ( | const MR_Mesh * | mesh, |
const MR_ZCompensateParams * | params ) |
finds vertices positions of the mesh after z-compensation without modifying the mesh Generated from function MR::findZcompensatedPositions
. Parameter mesh
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_std_optional_MR_VertCoords_Destroy()
to free it when you're done using it.
MRC_API MR_std_optional_MR_VertScalars * MR_findZcompensationShifts | ( | const MR_Mesh * | mesh, |
const MR_ZCompensateParams * | params ) |
finds the shift along z-axis for each vertex without modifying the mesh Generated from function MR::findZcompensationShifts
. Parameter mesh
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_std_optional_MR_VertScalars_Destroy()
to free it when you're done using it.
MRC_API MR_Mesh * MR_makeThickMesh | ( | const MR_Mesh * | m, |
const MR_ThickenParams * | params ) |
given a mesh m
, representing a surface, creates new closed mesh by cloning mirrored mesh, and shifting original part and cloned part in different directions according to params
, if original mesh was open then stitches corresponding boundaries of two parts Generated from function MR::makeThickMesh
. Parameter m
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_Mesh_Destroy()
to free it when you're done using it.
MRC_API bool MR_offsetVerts | ( | MR_Mesh * | mesh, |
const MR_std_function_float_from_MR_VertId * | offset, | ||
const MR_std_function_bool_from_float * | cb ) |
Modifies mesh
shifting each vertex along its pseudonormal by the corresponding offset
MR::offsetVerts
. Parameter mesh
can not be null. It is a single object. Parameter offset
can not be null. It is a single object. Parameter cb
is a single object. Parameter cb
has a default argument: {}
, pass a null pointer to use it. MRC_API MR_ThickenParams * MR_ThickenParams_AssignFromAnother | ( | MR_ThickenParams * | _this, |
const MR_ThickenParams * | _other ) |
Generated from a method of class MR::ThickenParams
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.
MRC_API MR_ThickenParams * MR_ThickenParams_ConstructFrom | ( | float | outsideOffset, |
float | insideOffset ) |
Constructs MR::ThickenParams
elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_ThickenParams_Destroy()
to free it when you're done using it.
MRC_API MR_ThickenParams * MR_ThickenParams_ConstructFromAnother | ( | const MR_ThickenParams * | _other | ) |
Generated from a constructor of class MR::ThickenParams
. Parameter _other
can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_ThickenParams_Destroy()
to free it when you're done using it.
MRC_API MR_ThickenParams * MR_ThickenParams_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_ThickenParams_Destroy()
to free it when you're done using it.
MRC_API MR_ThickenParams * MR_ThickenParams_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_ThickenParams_DestroyArray()
. Use MR_ThickenParams_OffsetMutablePtr()
and MR_ThickenParams_OffsetPtr()
to access the array elements.
MRC_API void MR_ThickenParams_Destroy | ( | const MR_ThickenParams * | _this | ) |
Destroys a heap-allocated instance of MR_ThickenParams
. Does nothing if the pointer is null.
MRC_API void MR_ThickenParams_DestroyArray | ( | const MR_ThickenParams * | _this | ) |
Destroys a heap-allocated array of MR_ThickenParams
. Does nothing if the pointer is null.
MRC_API const float * MR_ThickenParams_Get_insideOffset | ( | const MR_ThickenParams * | _this | ) |
the amount of offset for cloned mirrored mesh vertices in the opposite direction Returns a pointer to a member variable of class MR::ThickenParams
named insideOffset
. 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.
MRC_API const float * MR_ThickenParams_Get_outsideOffset | ( | const MR_ThickenParams * | _this | ) |
the amount of offset for original mesh vertices Returns a pointer to a member variable of class MR::ThickenParams
named outsideOffset
. 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.
MRC_API float * MR_ThickenParams_GetMutable_insideOffset | ( | MR_ThickenParams * | _this | ) |
the amount of offset for cloned mirrored mesh vertices in the opposite direction Returns a mutable pointer to a member variable of class MR::ThickenParams
named insideOffset
. 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.
MRC_API float * MR_ThickenParams_GetMutable_outsideOffset | ( | MR_ThickenParams * | _this | ) |
the amount of offset for original mesh vertices Returns a mutable pointer to a member variable of class MR::ThickenParams
named outsideOffset
. 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.
MRC_API MR_ThickenParams * MR_ThickenParams_OffsetMutablePtr | ( | MR_ThickenParams * | 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_ThickenParams * MR_ThickenParams_OffsetPtr | ( | const MR_ThickenParams * | 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 void MR_ThickenParams_Set_insideOffset | ( | MR_ThickenParams * | _this, |
float | value ) |
the amount of offset for cloned mirrored mesh vertices in the opposite direction Modifies a member variable of class MR::ThickenParams
named insideOffset
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_ThickenParams_Set_outsideOffset | ( | MR_ThickenParams * | _this, |
float | value ) |
the amount of offset for original mesh vertices Modifies a member variable of class MR::ThickenParams
named outsideOffset
. Parameter _this
can not be null. It is a single object.
MRC_API bool MR_zCompensate | ( | MR_Mesh * | mesh, |
const MR_ZCompensateParams * | params ) |
For 3D printers: shifts every vertex with normal having negative projection on Z-axis, along Z-axis; mesh's topology is preserved unchanged
MR::zCompensate
. Parameter mesh
can not be null. It is a single object. Parameter params
can not be null. It is a single object. MRC_API MR_ZCompensateParams * MR_ZCompensateParams_AssignFromAnother | ( | MR_ZCompensateParams * | _this, |
MR_PassBy | _other_pass_by, | ||
MR_ZCompensateParams * | _other ) |
Generated from a method of class MR::ZCompensateParams
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.
MRC_API MR_ZCompensateParams * MR_ZCompensateParams_ConstructFrom | ( | float | maxShift, |
bool | reduceSelfIntersections, | ||
float | minThickness, | ||
MR_PassBy | progress_pass_by, | ||
MR_std_function_bool_from_float * | progress ) |
Constructs MR::ZCompensateParams
elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_ZCompensateParams_Destroy()
to free it when you're done using it.
MRC_API MR_ZCompensateParams * MR_ZCompensateParams_ConstructFromAnother | ( | MR_PassBy | _other_pass_by, |
MR_ZCompensateParams * | _other ) |
Generated from a constructor of class MR::ZCompensateParams
. Never returns null. Returns an instance allocated on the heap! Must call MR_ZCompensateParams_Destroy()
to free it when you're done using it.
MRC_API MR_ZCompensateParams * MR_ZCompensateParams_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_ZCompensateParams_Destroy()
to free it when you're done using it.
MRC_API MR_ZCompensateParams * MR_ZCompensateParams_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_ZCompensateParams_DestroyArray()
. Use MR_ZCompensateParams_OffsetMutablePtr()
and MR_ZCompensateParams_OffsetPtr()
to access the array elements.
MRC_API void MR_ZCompensateParams_Destroy | ( | const MR_ZCompensateParams * | _this | ) |
Destroys a heap-allocated instance of MR_ZCompensateParams
. Does nothing if the pointer is null.
MRC_API void MR_ZCompensateParams_DestroyArray | ( | const MR_ZCompensateParams * | _this | ) |
Destroys a heap-allocated array of MR_ZCompensateParams
. Does nothing if the pointer is null.
MRC_API const float * MR_ZCompensateParams_Get_maxShift | ( | const MR_ZCompensateParams * | _this | ) |
shift of mesh parts orthogonal to Z-axis with normal against Z-axis; for other mesh parts the shift will be less and will depend on the angle between point pseudo-normal and Z-axis Returns a pointer to a member variable of class MR::ZCompensateParams
named maxShift
. 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.
MRC_API const float * MR_ZCompensateParams_Get_minThickness | ( | const MR_ZCompensateParams * | _this | ) |
only if (reduceSelfIntersections = true), avoids moving a vertex closer than this distance to another triangle Returns a pointer to a member variable of class MR::ZCompensateParams
named minThickness
. 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.
MRC_API const MR_std_function_bool_from_float * MR_ZCompensateParams_Get_progress | ( | const MR_ZCompensateParams * | _this | ) |
to report progress and cancel processing Returns a pointer to a member variable of class MR::ZCompensateParams
named progress
. 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.
MRC_API const bool * MR_ZCompensateParams_Get_reduceSelfIntersections | ( | const MR_ZCompensateParams * | _this | ) |
if true, limits the movement of each vertex to reduce self-intersections in the mesh Returns a pointer to a member variable of class MR::ZCompensateParams
named reduceSelfIntersections
. 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.
MRC_API float * MR_ZCompensateParams_GetMutable_maxShift | ( | MR_ZCompensateParams * | _this | ) |
shift of mesh parts orthogonal to Z-axis with normal against Z-axis; for other mesh parts the shift will be less and will depend on the angle between point pseudo-normal and Z-axis Returns a mutable pointer to a member variable of class MR::ZCompensateParams
named maxShift
. 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.
MRC_API float * MR_ZCompensateParams_GetMutable_minThickness | ( | MR_ZCompensateParams * | _this | ) |
only if (reduceSelfIntersections = true), avoids moving a vertex closer than this distance to another triangle Returns a mutable pointer to a member variable of class MR::ZCompensateParams
named minThickness
. 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.
MRC_API MR_std_function_bool_from_float * MR_ZCompensateParams_GetMutable_progress | ( | MR_ZCompensateParams * | _this | ) |
to report progress and cancel processing Returns a mutable pointer to a member variable of class MR::ZCompensateParams
named progress
. 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.
MRC_API bool * MR_ZCompensateParams_GetMutable_reduceSelfIntersections | ( | MR_ZCompensateParams * | _this | ) |
if true, limits the movement of each vertex to reduce self-intersections in the mesh Returns a mutable pointer to a member variable of class MR::ZCompensateParams
named reduceSelfIntersections
. 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.
MRC_API MR_ZCompensateParams * MR_ZCompensateParams_OffsetMutablePtr | ( | MR_ZCompensateParams * | 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_ZCompensateParams * MR_ZCompensateParams_OffsetPtr | ( | const MR_ZCompensateParams * | 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 void MR_ZCompensateParams_Set_maxShift | ( | MR_ZCompensateParams * | _this, |
float | value ) |
shift of mesh parts orthogonal to Z-axis with normal against Z-axis; for other mesh parts the shift will be less and will depend on the angle between point pseudo-normal and Z-axis Modifies a member variable of class MR::ZCompensateParams
named maxShift
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_ZCompensateParams_Set_minThickness | ( | MR_ZCompensateParams * | _this, |
float | value ) |
only if (reduceSelfIntersections = true), avoids moving a vertex closer than this distance to another triangle Modifies a member variable of class MR::ZCompensateParams
named minThickness
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_ZCompensateParams_Set_progress | ( | MR_ZCompensateParams * | _this, |
MR_PassBy | value_pass_by, | ||
MR_std_function_bool_from_float * | value ) |
to report progress and cancel processing Modifies a member variable of class MR::ZCompensateParams
named progress
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_ZCompensateParams_Set_reduceSelfIntersections | ( | MR_ZCompensateParams * | _this, |
bool | value ) |
if true, limits the movement of each vertex to reduce self-intersections in the mesh Modifies a member variable of class MR::ZCompensateParams
named reduceSelfIntersections
. Parameter _this
can not be null. It is a single object.