MeshLib C Docs
Loading...
Searching...
No Matches
MRMeshToDistanceVolume.h
Go to the documentation of this file.
1#pragma once
2
3#include <MRCMisc/common.h>
4#include <MRCMisc/exports.h>
5
6#include <stddef.h>
7
8#ifdef __cplusplus
9extern "C" {
10#endif
11
12typedef struct MR_AffineXf3f MR_AffineXf3f; // Defined in `#include <MRCMesh/MRAffineXf.h>`.
13typedef struct MR_DistanceToMeshOptions MR_DistanceToMeshOptions; // Defined in `#include <MRCMesh/MRDistanceToMeshOptions.h>`.
14typedef struct MR_DistanceVolumeParams MR_DistanceVolumeParams; // Defined in `#include <MRCVoxels/MRDistanceVolumeParams.h>`.
15typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
16typedef struct MR_FunctionVolume MR_FunctionVolume; // Defined in `#include <MRCVoxels/MRVoxelsVolume.h>`.
17typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
18typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
19typedef struct MR_SignedDistanceToMeshOptions MR_SignedDistanceToMeshOptions; // Defined in `#include <MRCMesh/MRDistanceToMeshOptions.h>`.
20typedef struct MR_expected_MR_SimpleBinaryVolume_std_string MR_expected_MR_SimpleBinaryVolume_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleBinaryVolume_std_string.h>`.
21typedef struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string; // Defined in `#include <MRCMisc/expected_MR_SimpleVolumeMinMax_std_string.h>`.
22typedef struct MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string; // Defined in `#include <MRCMisc/expected_std_array_MR_SimpleVolumeMinMax_3_std_string.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>`.
24typedef struct MR_std_shared_ptr_MR_IPointsToMeshProjector MR_std_shared_ptr_MR_IPointsToMeshProjector; // Defined in `#include <MRCMisc/std_shared_ptr_MR_IPointsToMeshProjector.h>`.
25
26
30
34
38
44
50
56
62
69
75
81
87
93
97
102
111
115
119
124
127
130
137
144
151
158
164
171
178
185
192
199
206
213
217
222
228MRC_API MR_CloseToMeshVolumeParams *MR_CloseToMeshVolumeParams_ConstructFrom(float closeDist, MR_PassBy vol_pass_by, MR_DistanceVolumeParams *vol, const MR_AffineXf3f *meshToWorld);
229
233
237
242
245
248
255
262
271
277
283
289
290// note that signMode is ignored in this algorithm
296
297// note that signMode is ignored in this algorithm
304
305// note that signMode is ignored in this algorithm
311
317
323
329
333
338
347
351
355
360
363
366
373
381
382#ifdef __cplusplus
383} // extern "C"
384#endif
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_SignedDistanceToMeshOptions MR_SignedDistanceToMeshOptions
Definition MRDistanceToMeshOptions.h:28
struct MR_DistanceToMeshOptions MR_DistanceToMeshOptions
Definition MRDistanceToMeshOptions.h:20
struct MR_DistanceVolumeParams MR_DistanceVolumeParams
Definition MRDistanceVolumeParams.h:22
struct MR_FunctionVolume MR_FunctionVolume
Definition MRFillingSurface.h:14
struct MR_expected_MR_SimpleBinaryVolume_std_string MR_expected_MR_SimpleBinaryVolume_std_string
Definition MRMeshToDistanceVolume.h:20
MRC_API void MR_MeshToDirectionVolumeParams_Destroy(const MR_MeshToDirectionVolumeParams *_this)
Destroys a heap-allocated instance of MR_MeshToDirectionVolumeParams. Does nothing if the pointer is ...
MRC_API void MR_MeshToDirectionVolumeParams_Set_vol(MR_MeshToDirectionVolumeParams *_this, MR_PassBy value_pass_by, MR_DistanceVolumeParams *value)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshToDistanceVolumeParams *_other)
MRC_API void MR_MeshToDistanceVolumeParams_Set_fwn(MR_MeshToDistanceVolumeParams *_this, MR_PassBy value_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *value)
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_DefaultConstructArray(size_t num_elems)
MRC_API const MR_AffineXf3f ** MR_CloseToMeshVolumeParams_GetMutable_meshToWorld(MR_CloseToMeshVolumeParams *_this)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_MeshToDirectionVolumeParams *_other)
struct MR_std_shared_ptr_MR_IFastWindingNumber MR_std_shared_ptr_MR_IFastWindingNumber
Definition MRMeshToDistanceVolume.h:23
MRC_API float * MR_CloseToMeshVolumeParams_GetMutable_closeDist(MR_CloseToMeshVolumeParams *_this)
MRC_API MR_DistanceVolumeParams * MR_MeshToDistanceVolumeParams_GetMutable_vol(MR_MeshToDistanceVolumeParams *_this)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_DefaultConstruct(void)
MRC_API MR_DistanceVolumeParams * MR_MeshToDirectionVolumeParams_GetMutable_vol(MR_MeshToDirectionVolumeParams *_this)
struct MR_CloseToMeshVolumeParams MR_CloseToMeshVolumeParams
Definition MRMeshToDistanceVolume.h:33
struct MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string
Definition MRMeshToDistanceVolume.h:22
MRC_API void MR_MeshToDistanceVolumeParams_Set_dist(MR_MeshToDistanceVolumeParams *_this, const MR_SignedDistanceToMeshOptions *value)
MRC_API void MR_MeshToDirectionVolumeParams_DestroyArray(const MR_MeshToDirectionVolumeParams *_this)
Destroys a heap-allocated array of MR_MeshToDirectionVolumeParams. Does nothing if the pointer is nul...
MRC_API MR_DistanceToMeshOptions * MR_MeshToDirectionVolumeParams_GetMutable_dist(MR_MeshToDirectionVolumeParams *_this)
MRC_API const float * MR_CloseToMeshVolumeParams_Get_closeDist(const MR_CloseToMeshVolumeParams *_this)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_DefaultConstructArray(size_t num_elems)
MRC_API MR_std_shared_ptr_MR_IFastWindingNumber * MR_MeshToDistanceVolumeParams_GetMutable_fwn(MR_MeshToDistanceVolumeParams *_this)
MRC_API void MR_MeshToDirectionVolumeParams_Set_projector(MR_MeshToDirectionVolumeParams *_this, MR_PassBy value_pass_by, MR_std_shared_ptr_MR_IPointsToMeshProjector *value)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_AssignFromAnother(MR_MeshToDistanceVolumeParams *_this, MR_PassBy _other_pass_by, MR_MeshToDistanceVolumeParams *_other)
struct MR_MeshToDirectionVolumeParams MR_MeshToDirectionVolumeParams
Definition MRMeshToDistanceVolume.h:37
MRC_API const MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_OffsetPtr(const MR_CloseToMeshVolumeParams *ptr, ptrdiff_t i)
MRC_API void MR_CloseToMeshVolumeParams_DestroyArray(const MR_CloseToMeshVolumeParams *_this)
Destroys a heap-allocated array of MR_CloseToMeshVolumeParams. Does nothing if the pointer is null.
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_ConstructFrom(float closeDist, MR_PassBy vol_pass_by, MR_DistanceVolumeParams *vol, const MR_AffineXf3f *meshToWorld)
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_DefaultConstruct(void)
MRC_API void MR_MeshToDistanceVolumeParams_Destroy(const MR_MeshToDistanceVolumeParams *_this)
Destroys a heap-allocated instance of MR_MeshToDistanceVolumeParams. Does nothing if the pointer is n...
MRC_API const MR_std_shared_ptr_MR_IFastWindingNumber * MR_MeshToDistanceVolumeParams_Get_fwn(const MR_MeshToDistanceVolumeParams *_this)
MRC_API MR_std_shared_ptr_MR_IPointsToMeshProjector * MR_MeshToDirectionVolumeParams_GetMutable_projector(MR_MeshToDirectionVolumeParams *_this)
MRC_API void MR_CloseToMeshVolumeParams_Set_meshToWorld(MR_CloseToMeshVolumeParams *_this, const MR_AffineXf3f *value)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_AssignFromAnother(MR_MeshToDirectionVolumeParams *_this, MR_PassBy _other_pass_by, MR_MeshToDirectionVolumeParams *_other)
MRC_API void MR_MeshToDistanceVolumeParams_DestroyArray(const MR_MeshToDistanceVolumeParams *_this)
Destroys a heap-allocated array of MR_MeshToDistanceVolumeParams. Does nothing if the pointer is null...
MRC_API MR_expected_MR_SimpleVolumeMinMax_std_string * MR_meshToDistanceVolume(const MR_MeshPart *mp, const MR_MeshToDistanceVolumeParams *params)
MRC_API void MR_MeshToDirectionVolumeParams_Set_dist(MR_MeshToDirectionVolumeParams *_this, const MR_DistanceToMeshOptions *value)
MRC_API const MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_OffsetPtr(const MR_MeshToDistanceVolumeParams *ptr, ptrdiff_t i)
struct MR_std_shared_ptr_MR_IPointsToMeshProjector MR_std_shared_ptr_MR_IPointsToMeshProjector
Definition MRMeshToDistanceVolume.h:24
struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string
Definition MRMeshToDistanceVolume.h:21
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_OffsetMutablePtr(MR_CloseToMeshVolumeParams *ptr, ptrdiff_t i)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_DefaultConstruct(void)
MRC_API MR_expected_MR_SimpleBinaryVolume_std_string * MR_makeCloseToMeshVolume(const MR_MeshPart *mp, const MR_CloseToMeshVolumeParams *params)
MRC_API void MR_MeshToDistanceVolumeParams_Set_vol(MR_MeshToDistanceVolumeParams *_this, MR_PassBy value_pass_by, MR_DistanceVolumeParams *value)
MRC_API MR_SignedDistanceToMeshOptions * MR_MeshToDistanceVolumeParams_GetMutable_dist(MR_MeshToDistanceVolumeParams *_this)
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_ConstructFromAnother(MR_PassBy _other_pass_by, MR_CloseToMeshVolumeParams *_other)
MRC_API const MR_DistanceToMeshOptions * MR_MeshToDirectionVolumeParams_Get_dist(const MR_MeshToDirectionVolumeParams *_this)
MRC_API const MR_DistanceVolumeParams * MR_MeshToDirectionVolumeParams_Get_vol(const MR_MeshToDirectionVolumeParams *_this)
MRC_API void MR_CloseToMeshVolumeParams_Set_vol(MR_CloseToMeshVolumeParams *_this, MR_PassBy value_pass_by, MR_DistanceVolumeParams *value)
MRC_API const MR_DistanceVolumeParams * MR_MeshToDistanceVolumeParams_Get_vol(const MR_MeshToDistanceVolumeParams *_this)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_ConstructFrom(MR_PassBy vol_pass_by, MR_DistanceVolumeParams *vol, const MR_SignedDistanceToMeshOptions *dist, MR_PassBy fwn_pass_by, MR_std_shared_ptr_MR_IFastWindingNumber *fwn)
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_AssignFromAnother(MR_CloseToMeshVolumeParams *_this, MR_PassBy _other_pass_by, MR_CloseToMeshVolumeParams *_other)
MRC_API MR_FunctionVolume * MR_meshToDistanceFunctionVolume(const MR_MeshPart *mp, const MR_MeshToDistanceVolumeParams *params)
struct MR_MeshToDistanceVolumeParams MR_MeshToDistanceVolumeParams
Definition MRMeshToDistanceVolume.h:29
MRC_API const MR_DistanceVolumeParams * MR_CloseToMeshVolumeParams_Get_vol(const MR_CloseToMeshVolumeParams *_this)
MRC_API const MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_OffsetPtr(const MR_MeshToDirectionVolumeParams *ptr, ptrdiff_t i)
MRC_API void MR_CloseToMeshVolumeParams_Destroy(const MR_CloseToMeshVolumeParams *_this)
Destroys a heap-allocated instance of MR_CloseToMeshVolumeParams. Does nothing if the pointer is null...
MRC_API MR_expected_MR_SimpleVolumeMinMax_std_string * MR_meshRegionToIndicatorVolume(const MR_Mesh *mesh, const MR_FaceBitSet *region, float offset, const MR_DistanceVolumeParams *params)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_OffsetMutablePtr(MR_MeshToDirectionVolumeParams *ptr, ptrdiff_t i)
MRC_API const MR_std_shared_ptr_MR_IPointsToMeshProjector * MR_MeshToDirectionVolumeParams_Get_projector(const MR_MeshToDirectionVolumeParams *_this)
MRC_API MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string * MR_meshToDirectionVolume(const MR_MeshToDirectionVolumeParams *params)
MRC_API MR_DistanceVolumeParams * MR_CloseToMeshVolumeParams_GetMutable_vol(MR_CloseToMeshVolumeParams *_this)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_DefaultConstructArray(size_t num_elems)
MRC_API void MR_CloseToMeshVolumeParams_Set_closeDist(MR_CloseToMeshVolumeParams *_this, float value)
MRC_API const MR_AffineXf3f *const * MR_CloseToMeshVolumeParams_Get_meshToWorld(const MR_CloseToMeshVolumeParams *_this)
MRC_API MR_MeshToDistanceVolumeParams * MR_MeshToDistanceVolumeParams_OffsetMutablePtr(MR_MeshToDistanceVolumeParams *ptr, ptrdiff_t i)
MRC_API MR_MeshToDirectionVolumeParams * MR_MeshToDirectionVolumeParams_ConstructFrom(MR_PassBy vol_pass_by, MR_DistanceVolumeParams *vol, const MR_DistanceToMeshOptions *dist, MR_PassBy projector_pass_by, MR_std_shared_ptr_MR_IPointsToMeshProjector *projector)
MRC_API const MR_SignedDistanceToMeshOptions * MR_MeshToDistanceVolumeParams_Get_dist(const MR_MeshToDistanceVolumeParams *_this)
Definition MRAffineXf.h:39