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_PartMapping MR_PartMapping; // Defined in `#include <MRCMesh/MRPartMapping.h>`.
19typedef struct MR_Polyline3 MR_Polyline3; // Defined in `#include <MRCMesh/MRPolyline.h>`.
20typedef struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
21typedef struct MR_Vector_MR_VoxelId_MR_FaceId MR_Vector_MR_VoxelId_MR_FaceId; // Defined in `#include <MRCMesh/MRVector.h>`.
22typedef struct MR_expected_MR_Mesh_std_string MR_expected_MR_Mesh_std_string; // Defined in `#include <MRCMisc/expected_MR_Mesh_std_string.h>`.
23typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
24typedef struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber; // Defined in `#include <MRCMisc/std_shared_ptr_MR_IFastWindingNumber.h>`.
25
26
35
46
57
67
74
80
87
93
98
104
108
113
117
120
123
128
132
137
141
146
150
154
157
160
165
169MRC_API float MR_suggestVoxelSize(const MR_MeshPart *mp, float approxNumVoxels);
170
176
181
187
193
198
204
212
219
227
234
240
247
255
262
270
282
293
305
309
314
317
320
324
327
332
336
341
345
349
352
355
360
366
371
377
383
388
394
400
405
411
417
422
428
435
441
448
452
457
460
463
467
470
474
477
482
486
490
493
496
501
512
521MRC_API MR_expected_MR_Mesh_std_string *MR_doubleOffsetMesh(const MR_MeshPart *mp, float offsetA, float offsetB, const MR_OffsetParameters *params);
522
532
543
552
557
561
566
570
575
578
581
585
588
592
595
599
602
606
609
612
617
625
638
649
660
661#ifdef __cplusplus
662} // extern "C"
663#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:24
struct MR_UndirectedEdgeBitSet MR_UndirectedEdgeBitSet
Definition MRAABBTreeBase.h:28
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:17
struct MR_Mesh MR_Mesh
Definition MRCtm.h:12
MR_OffsetMode
Definition MREnums.h:47
struct MR_PartMapping MR_PartMapping
Definition MRMesh.h:31
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:34
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:56
struct MR_GeneralOffsetParameters MR_GeneralOffsetParameters
Definition MROffset.h:66
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 MR_expected_MR_Mesh_std_string * MR_thickenMesh(const MR_Mesh *mesh, float offset, const MR_GeneralOffsetParameters *params, const MR_PartMapping *map)
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_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:45
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:14
MR_SignDetectionMode
how to determine the sign of distances from a mesh
Definition MRSignDetectionMode.h:12
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