MeshLib C Docs
Loading...
Searching...
No Matches
MROffset.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMesh/MREnums.h>
5#include <MRCMisc/common.h>
6#include <MRCMisc/exports.h>
7
8#include <stdbool.h>
9#include <stddef.h>
10
11#ifdef __cplusplus
12extern "C" {
13#endif
14
15typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
16typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
17typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
18typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
19typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
20typedef struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId; // Defined in `#include <MRCMesh/MRVector.h>`.
21typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
22typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
23typedef struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber; // Defined in `#include <MRCMisc/std_shared_ptr_MR_IFastWindingNumber.h>`.
24
25
34
45
56
66
73
79
86
92
97
103
107
112
116
119
122
127
131
136
140
145
149
153
156
159
164
168MRC_API float MR_suggestVoxelSize(const MR_MeshPart *mp, float approxNumVoxels);
169
175
180
186
192
197
203
211
218
226
233
239
246
254
261
269
281
292
304
308
313
316
319
323
326
331
335
340
344
348
351
354
359
365
370
376
382
387
393
399
404
410
416
421
427
434
440
447
451
456
459
462
466
469
473
476
481
485
489
492
495
500
511
520MRC_API MR_expected_MR_Mesh_std_string *MR_doubleOffsetMesh(const MR_MeshPart *mp, float offsetA, float offsetB, const MR_OffsetParameters *params);
521
531
542
551
556
560
565
569
574
577
580
584
587
591
594
598
601
605
608
611
616
624
635
646
657
658#ifdef __cplusplus
659} // extern "C"
660#endif
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTreeBase.h:25
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:29
struct MR_Polyline3 MR_Polyline3
Definition MRAABBTreePolyline.h:16
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:14
struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string
Definition MRCtm.h:18
struct MR_Mesh MR_Mesh
Definition MRCtm.h:13
int32_t MR_OffsetMode
Definition MREnums.h:50
MRC_API MR_OffsetMode * MR_GeneralOffsetParameters_GetMutable_mode(MR_GeneralOffsetParameters *_this)
MRC_API void MR_SharpOffsetParameters_Set_minNewVertDev(MR_SharpOffsetParameters *_this, float value)
MRC_API MR_BaseShellParameters * MR_OffsetParameters_MutableUpcastTo_MR_BaseShellParameters(MR_OffsetParameters *object)
Upcasts an instance of MR::OffsetParameters to its base class MR::BaseShellParameters.
MRC_API MR_GeneralOffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters(MR_BaseShellParameters *object)
MRC_API MR_expected_MR_Mesh_std_string * MR_offsetMesh(const MR_MeshPart *mp, float offset, const MR_OffsetParameters *params)
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)
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 float * MR_BaseShellParameters_GetMutable_voxelSize(MR_BaseShellParameters *_this)
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 const MR_OffsetMode * MR_GeneralOffsetParameters_Get_mode(const MR_GeneralOffsetParameters *_this)
struct MR_BaseShellParameters MR_BaseShellParameters
Definition MROffset.h:33
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank2VertDev(MR_SharpOffsetParameters *_this)
MRC_API MR_OffsetParameters * MR_OffsetParameters_AssignFromAnother(MR_OffsetParameters *_this, MR_PassBy _other_pass_by, MR_OffsetParameters *_other)
MRC_API MR_SignDetectionMode * MR_OffsetParameters_GetMutable_signDetectionMode(MR_OffsetParameters *_this)
MRC_API void MR_OffsetParameters_Set_memoryEfficient(MR_OffsetParameters *_this, bool value)
MRC_API void MR_SharpOffsetParameters_Set_maxOldVertPosCorrection(MR_SharpOffsetParameters *_this, float value)
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...
MRC_API const MR_SharpOffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_SharpOffsetParameters(const MR_BaseShellParameters *object)
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxOldVertPosCorrection(MR_SharpOffsetParameters *_this)
MRC_API const MR_BaseShellParameters * MR_OffsetParameters_UpcastTo_MR_BaseShellParameters(const MR_OffsetParameters *object)
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 MR_OffsetParameters * MR_OffsetParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_OffsetParameters *_other)
MRC_API const MR_GeneralOffsetParameters * MR_OffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters(const MR_OffsetParameters *object)
MRC_API MR_std_function_bool_from_float * MR_BaseShellParameters_GetMutable_callBack(MR_BaseShellParameters *_this)
MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank3VertDev(const MR_SharpOffsetParameters *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_offsetOneDirection(const MR_MeshPart *mp, float offset, const MR_GeneralOffsetParameters *params)
MRC_API bool * MR_OffsetParameters_GetMutable_closeHolesInHoleWindingNumber(MR_OffsetParameters *_this)
MRC_API float * MR_SharpOffsetParameters_GetMutable_maxNewRank3VertDev(MR_SharpOffsetParameters *_this)
MRC_API MR_OffsetParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_OffsetParameters(MR_GeneralOffsetParameters *object)
Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::OffsetParameters.
struct MR_SharpOffsetParameters MR_SharpOffsetParameters
Definition MROffset.h:55
struct MR_GeneralOffsetParameters MR_GeneralOffsetParameters
Definition MROffset.h:65
MRC_API const MR_OffsetParameters * MR_GeneralOffsetParameters_UpcastTo_MR_OffsetParameters(const MR_GeneralOffsetParameters *object)
MRC_API void MR_GeneralOffsetParameters_Set_mode(MR_GeneralOffsetParameters *_this, MR_OffsetMode value)
MRC_API const float * MR_SharpOffsetParameters_Get_maxOldVertPosCorrection(const MR_SharpOffsetParameters *_this)
MRC_API MR_std_shared_ptr_MR_IFastWindingNumber * MR_OffsetParameters_GetMutable_fwn(MR_OffsetParameters *_this)
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...
MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_DefaultConstructArray(size_t num_elems)
MRC_API MR_SharpOffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters(MR_BaseShellParameters *object)
MRC_API const MR_SharpOffsetParameters * MR_OffsetParameters_StaticDowncastTo_MR_SharpOffsetParameters(const MR_OffsetParameters *object)
MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_DefaultConstruct(void)
MRC_API void MR_BaseShellParameters_Set_voxelSize(MR_BaseShellParameters *_this, float value)
MRC_API const float * MR_SharpOffsetParameters_Get_minNewVertDev(const MR_SharpOffsetParameters *_this)
MRC_API const bool * MR_OffsetParameters_Get_memoryEfficient(const MR_OffsetParameters *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_generalOffsetMesh(const MR_MeshPart *mp, float offset, const MR_GeneralOffsetParameters *params)
MRC_API MR_BaseShellParameters * MR_BaseShellParameters_ConstructFrom(float voxelSize, MR_PassBy callBack_pass_by, MR_std_function_bool_from_float *callBack)
MRC_API MR_BaseShellParameters * MR_BaseShellParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_BaseShellParameters *_other)
MRC_API const MR_std_function_bool_from_float * MR_BaseShellParameters_Get_callBack(const MR_BaseShellParameters *_this)
MRC_API void MR_OffsetParameters_Set_signDetectionMode(MR_OffsetParameters *_this, MR_SignDetectionMode value)
MRC_API MR_expected_MR_Mesh_std_string * MR_offsetPolyline(const MR_Polyline3 *polyline, float offset, const MR_OffsetParameters *params)
MRC_API const MR_GeneralOffsetParameters * MR_SharpOffsetParameters_StaticDowncastTo_MR_GeneralOffsetParameters(const MR_SharpOffsetParameters *object)
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 void MR_SharpOffsetParameters_Set_maxNewRank2VertDev(MR_SharpOffsetParameters *_this, float value)
MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_SharpOffsetParameters *_other)
MRC_API void MR_OffsetParameters_Set_windingNumberBeta(MR_OffsetParameters *_this, float value)
MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_DefaultConstructArray(size_t num_elems)
MRC_API void MR_OffsetParameters_Set_closeHolesInHoleWindingNumber(MR_OffsetParameters *_this, bool value)
MRC_API float * MR_OffsetParameters_GetMutable_windingNumberThreshold(MR_OffsetParameters *_this)
MRC_API MR_expected_MR_Mesh_std_string * MR_sharpOffsetMesh(const MR_MeshPart *mp, float offset, const MR_SharpOffsetParameters *params)
MRC_API float * MR_OffsetParameters_GetMutable_windingNumberBeta(MR_OffsetParameters *_this)
MRC_API const float * MR_SharpOffsetParameters_Get_maxNewRank2VertDev(const MR_SharpOffsetParameters *_this)
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...
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 MR_OffsetParameters * MR_SharpOffsetParameters_MutableUpcastTo_MR_OffsetParameters(MR_SharpOffsetParameters *object)
Upcasts an instance of MR::SharpOffsetParameters to its base class MR::OffsetParameters.
MRC_API MR_OffsetParameters * MR_OffsetParameters_DefaultConstruct(void)
MRC_API float * MR_SharpOffsetParameters_GetMutable_minNewVertDev(MR_SharpOffsetParameters *_this)
MRC_API float MR_suggestVoxelSize(const MR_MeshPart *mp, float approxNumVoxels)
MRC_API MR_SharpOffsetParameters * MR_SharpOffsetParameters_DefaultConstruct(void)
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 const MR_SharpOffsetParameters * MR_GeneralOffsetParameters_UpcastTo_MR_SharpOffsetParameters(const MR_GeneralOffsetParameters *object)
MRC_API MR_GeneralOffsetParameters * MR_SharpOffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters(MR_SharpOffsetParameters *object)
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_BaseShellParameters * MR_SharpOffsetParameters_MutableUpcastTo_MR_BaseShellParameters(MR_SharpOffsetParameters *object)
Upcasts an instance of MR::SharpOffsetParameters to its base class MR::BaseShellParameters.
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...
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...
MRC_API MR_BaseShellParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_BaseShellParameters(MR_GeneralOffsetParameters *object)
Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::BaseShellParameters.
MRC_API const MR_GeneralOffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_GeneralOffsetParameters(const MR_BaseShellParameters *object)
MRC_API const MR_std_shared_ptr_MR_IFastWindingNumber * MR_OffsetParameters_Get_fwn(const MR_OffsetParameters *_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_SharpOffsetParameters * MR_SharpOffsetParameters_AssignFromAnother(MR_SharpOffsetParameters *_this, MR_PassBy _other_pass_by, MR_SharpOffsetParameters *_other)
MRC_API MR_SharpOffsetParameters * MR_GeneralOffsetParameters_MutableUpcastTo_MR_SharpOffsetParameters(MR_GeneralOffsetParameters *object)
Upcasts an instance of MR::GeneralOffsetParameters to its base class MR::SharpOffsetParameters.
MRC_API MR_expected_MR_Mesh_std_string * MR_thickenMesh(const MR_Mesh *mesh, float offset, const MR_GeneralOffsetParameters *params)
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...
MRC_API void MR_SharpOffsetParameters_Set_maxNewRank3VertDev(MR_SharpOffsetParameters *_this, float value)
MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_ConstructFromAnother(MR_PassBy _other_pass_by, MR_GeneralOffsetParameters *_other)
struct MR_OffsetParameters MR_OffsetParameters
Definition MROffset.h:44
MRC_API MR_OffsetParameters * MR_OffsetParameters_DefaultConstructArray(size_t num_elems)
MRC_API const MR_BaseShellParameters * MR_SharpOffsetParameters_UpcastTo_MR_BaseShellParameters(const MR_SharpOffsetParameters *object)
MRC_API MR_GeneralOffsetParameters * MR_OffsetParameters_MutableStaticDowncastTo_MR_GeneralOffsetParameters(MR_OffsetParameters *object)
MRC_API MR_GeneralOffsetParameters * MR_GeneralOffsetParameters_AssignFromAnother(MR_GeneralOffsetParameters *_this, MR_PassBy _other_pass_by, MR_GeneralOffsetParameters *_other)
MRC_API bool * MR_OffsetParameters_GetMutable_memoryEfficient(MR_OffsetParameters *_this)
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...
MRC_API MR_BaseShellParameters * MR_BaseShellParameters_DefaultConstruct(void)
MRC_API const MR_OffsetParameters * MR_SharpOffsetParameters_UpcastTo_MR_OffsetParameters(const MR_SharpOffsetParameters *object)
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_UndirectedEdgeBitSet *const * MR_SharpOffsetParameters_Get_outSharpEdges(const MR_SharpOffsetParameters *_this)
MRC_API MR_SharpOffsetParameters * MR_OffsetParameters_MutableStaticDowncastTo_MR_SharpOffsetParameters(MR_OffsetParameters *object)
MRC_API MR_BaseShellParameters * MR_BaseShellParameters_DefaultConstructArray(size_t num_elems)
MRC_API const bool * MR_OffsetParameters_Get_closeHolesInHoleWindingNumber(const MR_OffsetParameters *_this)
MRC_API const float * MR_OffsetParameters_Get_windingNumberThreshold(const MR_OffsetParameters *_this)
MRC_API MR_BaseShellParameters * MR_BaseShellParameters_AssignFromAnother(MR_BaseShellParameters *_this, MR_PassBy _other_pass_by, MR_BaseShellParameters *_other)
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)
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 const MR_OffsetParameters * MR_BaseShellParameters_StaticDowncastTo_MR_OffsetParameters(const MR_BaseShellParameters *object)
MRC_API void MR_OffsetParameters_Set_windingNumberThreshold(MR_OffsetParameters *_this, float value)
MRC_API MR_expected_MR_Mesh_std_string * MR_doubleOffsetMesh(const MR_MeshPart *mp, float offsetA, float offsetB, const MR_OffsetParameters *params)
MRC_API const MR_SignDetectionMode * MR_OffsetParameters_Get_signDetectionMode(const MR_OffsetParameters *_this)
MRC_API void MR_SharpOffsetParameters_Set_outSharpEdges(MR_SharpOffsetParameters *_this, MR_UndirectedEdgeBitSet *value)
MRC_API const MR_BaseShellParameters * MR_GeneralOffsetParameters_UpcastTo_MR_BaseShellParameters(const MR_GeneralOffsetParameters *object)
MRC_API MR_UndirectedEdgeBitSet ** MR_SharpOffsetParameters_GetMutable_outSharpEdges(MR_SharpOffsetParameters *_this)
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...
MRC_API const float * MR_BaseShellParameters_Get_voxelSize(const MR_BaseShellParameters *_this)
MRC_API MR_OffsetParameters * MR_BaseShellParameters_MutableStaticDowncastTo_MR_OffsetParameters(MR_BaseShellParameters *object)
MRC_API const float * MR_OffsetParameters_Get_windingNumberBeta(const MR_OffsetParameters *_this)
struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId
Definition MRSeparationPoint.h:15
int32_t MR_SignDetectionMode
how to determine the sign of distances from a mesh
Definition MRSignDetectionMode.h:13
MR_PassBy
Definition common.h:19
#define MRC_API
Definition exports.h:11
struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber
Definition std_shared_ptr_MR_IFastWindingNumber.h:17