Go to the source code of this file.
Typedefs | |
typedef struct MR_Mesh | MR_Mesh |
typedef struct MR_MeshPart | MR_MeshPart |
typedef struct MR_UndirectedEdgeBitSet | MR_UndirectedEdgeBitSet |
typedef struct MR_Vector_MR_VoxelId_MR_FaceId | MR_Vector_MR_VoxelId_MR_FaceId |
typedef struct MR_SharpenMarchingCubesMeshSettings | MR_SharpenMarchingCubesMeshSettings |
Generated from class MR::SharpenMarchingCubesMeshSettings . | |
typedef struct MR_MeshPart MR_MeshPart |
Generated from class MR::SharpenMarchingCubesMeshSettings
.
typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet |
typedef struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId |
MRC_API void MR_sharpenMarchingCubesMesh | ( | const MR_MeshPart * | ref, |
MR_Mesh * | vox, | ||
MR_Vector_MR_VoxelId_MR_FaceId * | face2voxel, | ||
const MR_SharpenMarchingCubesMeshSettings * | settings ) |
adjust the mesh
vox | produced by marching cubes method (NOT dual marching cubes) by 1) correcting positions of all vertices to given offset relative to |
ref | mesh (if correctOldVertPos == true); 2) introducing new vertices in the voxels where the normals change abruptly. |
face2voxel | mapping from Face Id to Voxel Id where it is located Generated from function MR::sharpenMarchingCubesMesh . Parameter ref can not be null. It is a single object. Parameter vox can not be null. It is a single object. Parameter face2voxel can not be null. It is a single object. Parameter settings can not be null. It is a single object. |
MRC_API MR_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_AssignFromAnother | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
const MR_SharpenMarchingCubesMeshSettings * | _other ) |
Generated from a method of class MR::SharpenMarchingCubesMeshSettings
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_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_ConstructFrom | ( | float | minNewVertDev, |
float | maxNewRank2VertDev, | ||
float | maxNewRank3VertDev, | ||
float | offset, | ||
float | maxOldVertPosCorrection, | ||
int32_t | posSelIters, | ||
MR_UndirectedEdgeBitSet * | outSharpEdges ) |
Constructs MR::SharpenMarchingCubesMeshSettings
elementwise. Never returns null. Returns an instance allocated on the heap! Must call MR_SharpenMarchingCubesMeshSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_ConstructFromAnother | ( | const MR_SharpenMarchingCubesMeshSettings * | _other | ) |
Generated from a constructor of class MR::SharpenMarchingCubesMeshSettings
. Parameter _other
can not be null. It is a single object. Never returns null. Returns an instance allocated on the heap! Must call MR_SharpenMarchingCubesMeshSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_DefaultConstruct | ( | void | ) |
Constructs an empty (default-constructed) instance. Never returns null. Returns an instance allocated on the heap! Must call MR_SharpenMarchingCubesMeshSettings_Destroy()
to free it when you're done using it.
MRC_API MR_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_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_SharpenMarchingCubesMeshSettings_DestroyArray()
. Use MR_SharpenMarchingCubesMeshSettings_OffsetMutablePtr()
and MR_SharpenMarchingCubesMeshSettings_OffsetPtr()
to access the array elements.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Destroy | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
Destroys a heap-allocated instance of MR_SharpenMarchingCubesMeshSettings
. Does nothing if the pointer is null.
MRC_API void MR_SharpenMarchingCubesMeshSettings_DestroyArray | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
Destroys a heap-allocated array of MR_SharpenMarchingCubesMeshSettings
. Does nothing if the pointer is null.
MRC_API const float * MR_SharpenMarchingCubesMeshSettings_Get_maxNewRank2VertDev | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes); recommended set equal to ( 5 * voxel size ) Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API const float * MR_SharpenMarchingCubesMeshSettings_Get_maxNewRank3VertDev | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes); recommended set equal to ( 2 * voxel size ) Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API const float * MR_SharpenMarchingCubesMeshSettings_Get_maxOldVertPosCorrection | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
correct positions of the input vertices using reference mesh by not more than this distance; big correction can be wrong and result from self-intersections in the reference mesh recommended set equal to ( voxel size / 2 ) Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API const float * MR_SharpenMarchingCubesMeshSettings_Get_minNewVertDev | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
minimal surface deviation to introduce new vertex in a voxel; recommended set equal to ( voxel size / 25 ) Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API const float * MR_SharpenMarchingCubesMeshSettings_Get_offset | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
relative to reference mesh Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
named offset
. 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_UndirectedEdgeBitSet *const * MR_SharpenMarchingCubesMeshSettings_Get_outSharpEdges | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
if non-null then created sharp edges will be saved here Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API const int32_t * MR_SharpenMarchingCubesMeshSettings_Get_posSelIters | ( | const MR_SharpenMarchingCubesMeshSettings * | _this | ) |
the number of iterations to best select positions for new vertices, the probability of self-intersections and spikes are higher if posSelIters = 0 Returns a pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
named posSelIters
. 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_SharpenMarchingCubesMeshSettings_GetMutable_maxNewRank2VertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes); recommended set equal to ( 5 * voxel size ) Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API float * MR_SharpenMarchingCubesMeshSettings_GetMutable_maxNewRank3VertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes); recommended set equal to ( 2 * voxel size ) Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API float * MR_SharpenMarchingCubesMeshSettings_GetMutable_maxOldVertPosCorrection | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
correct positions of the input vertices using reference mesh by not more than this distance; big correction can be wrong and result from self-intersections in the reference mesh recommended set equal to ( voxel size / 2 ) Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API float * MR_SharpenMarchingCubesMeshSettings_GetMutable_minNewVertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
minimal surface deviation to introduce new vertex in a voxel; recommended set equal to ( voxel size / 25 ) Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API float * MR_SharpenMarchingCubesMeshSettings_GetMutable_offset | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
relative to reference mesh Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
named offset
. 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_UndirectedEdgeBitSet ** MR_SharpenMarchingCubesMeshSettings_GetMutable_outSharpEdges | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
if non-null then created sharp edges will be saved here Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
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.
MRC_API int32_t * MR_SharpenMarchingCubesMeshSettings_GetMutable_posSelIters | ( | MR_SharpenMarchingCubesMeshSettings * | _this | ) |
the number of iterations to best select positions for new vertices, the probability of self-intersections and spikes are higher if posSelIters = 0 Returns a mutable pointer to a member variable of class MR::SharpenMarchingCubesMeshSettings
named posSelIters
. 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_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_OffsetMutablePtr | ( | MR_SharpenMarchingCubesMeshSettings * | 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_SharpenMarchingCubesMeshSettings * MR_SharpenMarchingCubesMeshSettings_OffsetPtr | ( | const MR_SharpenMarchingCubesMeshSettings * | 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_SharpenMarchingCubesMeshSettings_Set_maxNewRank2VertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
float | value ) |
maximal surface deviation to introduce new rank 2 vertex (on intersection of 2 planes); recommended set equal to ( 5 * voxel size ) Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named maxNewRank2VertDev
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_maxNewRank3VertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
float | value ) |
maximal surface deviation to introduce new rank 3 vertex (on intersection of 3 planes); recommended set equal to ( 2 * voxel size ) Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named maxNewRank3VertDev
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_maxOldVertPosCorrection | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
float | value ) |
correct positions of the input vertices using reference mesh by not more than this distance; big correction can be wrong and result from self-intersections in the reference mesh recommended set equal to ( voxel size / 2 ) Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named maxOldVertPosCorrection
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_minNewVertDev | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
float | value ) |
minimal surface deviation to introduce new vertex in a voxel; recommended set equal to ( voxel size / 25 ) Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named minNewVertDev
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_offset | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
float | value ) |
relative to reference mesh Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named offset
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_outSharpEdges | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
MR_UndirectedEdgeBitSet * | value ) |
if non-null then created sharp edges will be saved here Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named outSharpEdges
. Parameter _this
can not be null. It is a single object.
MRC_API void MR_SharpenMarchingCubesMeshSettings_Set_posSelIters | ( | MR_SharpenMarchingCubesMeshSettings * | _this, |
int32_t | value ) |
the number of iterations to best select positions for new vertices, the probability of self-intersections and spikes are higher if posSelIters = 0 Modifies a member variable of class MR::SharpenMarchingCubesMeshSettings
named posSelIters
. Parameter _this
can not be null. It is a single object.