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
43
47
52
57
62
67
72
76
81
85
90
95
98
101
105
108
111
116
123
130
136
141
147
153
158
164
170
175
181
185
190
194
197
200
204
207
210
215
222
231
236
240
245
246// note that signMode is ignored in this algorithm
251
252// note that signMode is ignored in this algorithm
257
258// note that signMode is ignored in this algorithm
263
268
272
277
281
286
291
294
297
301
304
307
312
320
321#ifdef __cplusplus
322} // extern "C"
323#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
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)
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
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
MRC_API MR_CloseToMeshVolumeParams * MR_CloseToMeshVolumeParams_OffsetMutablePtr(MR_CloseToMeshVolumeParams *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_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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
Offsets a pointer to an array element by i positions (not bytes). Use only if you're certain that the...
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)
MR_PassBy
Definition common.h:23
struct MR_FunctionVolume MR_FunctionVolume
Definition expected_MR_FunctionVolume_std_string.h:13
struct MR_expected_MR_SimpleBinaryVolume_std_string MR_expected_MR_SimpleBinaryVolume_std_string
Definition expected_MR_SimpleBinaryVolume_std_string.h:19
struct MR_expected_MR_SimpleVolumeMinMax_std_string MR_expected_MR_SimpleVolumeMinMax_std_string
Definition expected_MR_SimpleVolumeMinMax_std_string.h:19
struct MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string MR_expected_std_array_MR_SimpleVolumeMinMax_3_std_string
Definition expected_std_array_MR_SimpleVolumeMinMax_3_std_string.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:19
struct MR_std_shared_ptr_MR_IPointsToMeshProjector MR_std_shared_ptr_MR_IPointsToMeshProjector
Definition std_shared_ptr_MR_IPointsToMeshProjector.h:19
Definition MRAffineXf.h:39