MeshLib C Docs
Loading...
Searching...
No Matches
MRTunnelDetector.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 <stdbool.h>
7#include <stddef.h>
8
9#ifdef __cplusplus
10extern "C" {
11#endif
12
13typedef struct MR_FaceBitSet MR_FaceBitSet; // Defined in `#include <MRCMesh/MRBitSet.h>`.
14typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
15typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
16typedef struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string; // Defined in `#include <MRCMisc/expected_MR_FaceBitSet_std_string.h>`.
17typedef struct MR_expected_std_vector_MR_EdgeId_std_string MR_expected_std_vector_MR_EdgeId_std_string; // Defined in `#include <MRCMisc/expected_std_vector_MR_EdgeId_std_string.h>`.
18typedef struct MR_expected_std_vector_std_vector_MR_EdgeId_std_string MR_expected_std_vector_std_vector_MR_EdgeId_std_string; // Defined in `#include <MRCMisc/expected_std_vector_std_vector_MR_EdgeId_std_string.h>`.
19typedef struct MR_std_function_bool_from_float MR_std_function_bool_from_float; // Defined in `#include <MRCMisc/std_function_bool_from_float.h>`.
20typedef struct MR_std_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId; // Defined in `#include <MRCMisc/std_function_float_from_MR_EdgeId.h>`.
21typedef struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId; // Defined in `#include <MRCMisc/std_vector_MR_EdgeId.h>`.
22
23
27
37
51
58
64
70
76
83
90
97
104
112
119
126
133
140
147
154
161
167
174
180
184
189
195MRC_API MR_DetectTunnelSettings *MR_DetectTunnelSettings_ConstructFrom(float maxTunnelLength, int maxIters, MR_PassBy metric_pass_by, MR_std_function_float_from_MR_EdgeId *metric, bool buildCoLoops, bool filterEquivalentCoLoops, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress);
196
200
204
209
212
215
222
231
232#ifdef __cplusplus
233} // extern "C"
234#endif
struct MR_MeshTopology MR_MeshTopology
Definition MR2DContoursTriangulation.h:15
struct MR_std_function_bool_from_float MR_std_function_bool_from_float
Definition MR3mf.h:10
struct MR_FaceBitSet MR_FaceBitSet
Definition MRAABBTree.h:17
struct MR_MeshPart MR_MeshPart
Definition MRAABBTree.h:19
struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string
Definition MRContoursCut.h:20
struct MR_expected_std_vector_std_vector_MR_EdgeId_std_string MR_expected_std_vector_std_vector_MR_EdgeId_std_string
Definition MRContoursCut.h:22
struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId
Definition MRContoursStitch.h:11
struct MR_std_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId
Definition MREdgeMetric.h:12
struct MR_expected_std_vector_MR_EdgeId_std_string MR_expected_std_vector_MR_EdgeId_std_string
Definition MRSurroundingContour.h:12
MRC_API bool * MR_DetectTunnelSettings_GetMutable_buildCoLoops(MR_DetectTunnelSettings *_this)
MRC_API void MR_DetectTunnelSettings_Set_progress(MR_DetectTunnelSettings *_this, MR_PassBy value_pass_by, MR_std_function_bool_from_float *value)
MRC_API MR_expected_std_vector_MR_EdgeId_std_string * MR_findSmallestMetricCoLoop(const MR_MeshTopology *topology, const MR_std_vector_MR_EdgeId *loop, const MR_std_function_float_from_MR_EdgeId *metric, const MR_FaceBitSet *region)
MRC_API MR_expected_MR_FaceBitSet_std_string * MR_detectTunnelFaces(const MR_MeshPart *mp, const MR_DetectTunnelSettings *settings)
MRC_API int * MR_DetectTunnelSettings_GetMutable_maxIters(MR_DetectTunnelSettings *_this)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_DefaultConstructArray(size_t num_elems)
MRC_API MR_expected_std_vector_std_vector_MR_EdgeId_std_string * MR_detectBasisTunnels(const MR_MeshPart *mp, MR_PassBy metric_pass_by, MR_std_function_float_from_MR_EdgeId *metric, MR_PassBy progressCallback_pass_by, MR_std_function_bool_from_float *progressCallback)
MRC_API void MR_DetectTunnelSettings_Set_buildCoLoops(MR_DetectTunnelSettings *_this, bool value)
MRC_API const MR_DetectTunnelSettings * MR_DetectTunnelSettings_OffsetPtr(const MR_DetectTunnelSettings *ptr, ptrdiff_t i)
MRC_API bool * MR_DetectTunnelSettings_GetMutable_filterEquivalentCoLoops(MR_DetectTunnelSettings *_this)
MRC_API const bool * MR_DetectTunnelSettings_Get_filterEquivalentCoLoops(const MR_DetectTunnelSettings *_this)
MRC_API void MR_DetectTunnelSettings_Set_maxTunnelLength(MR_DetectTunnelSettings *_this, float value)
MRC_API MR_std_function_float_from_MR_EdgeId * MR_DetectTunnelSettings_GetMutable_metric(MR_DetectTunnelSettings *_this)
MRC_API MR_expected_std_vector_MR_EdgeId_std_string * MR_findShortestCoLoop(const MR_MeshPart *mp, const MR_std_vector_MR_EdgeId *loop)
MRC_API void MR_DetectTunnelSettings_Set_filterEquivalentCoLoops(MR_DetectTunnelSettings *_this, bool value)
MRC_API const MR_std_function_float_from_MR_EdgeId * MR_DetectTunnelSettings_Get_metric(const MR_DetectTunnelSettings *_this)
MRC_API float * MR_DetectTunnelSettings_GetMutable_maxTunnelLength(MR_DetectTunnelSettings *_this)
MRC_API const bool * MR_DetectTunnelSettings_Get_buildCoLoops(const MR_DetectTunnelSettings *_this)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_AssignFromAnother(MR_DetectTunnelSettings *_this, MR_PassBy _other_pass_by, MR_DetectTunnelSettings *_other)
MRC_API MR_std_function_bool_from_float * MR_DetectTunnelSettings_GetMutable_progress(MR_DetectTunnelSettings *_this)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_DefaultConstruct(void)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_ConstructFromAnother(MR_PassBy _other_pass_by, MR_DetectTunnelSettings *_other)
struct MR_DetectTunnelSettings MR_DetectTunnelSettings
Definition MRTunnelDetector.h:26
MRC_API void MR_DetectTunnelSettings_Destroy(const MR_DetectTunnelSettings *_this)
Destroys a heap-allocated instance of MR_DetectTunnelSettings. Does nothing if the pointer is null.
MRC_API void MR_DetectTunnelSettings_DestroyArray(const MR_DetectTunnelSettings *_this)
Destroys a heap-allocated array of MR_DetectTunnelSettings. Does nothing if the pointer is null.
MRC_API void MR_DetectTunnelSettings_Set_maxIters(MR_DetectTunnelSettings *_this, int value)
MRC_API const float * MR_DetectTunnelSettings_Get_maxTunnelLength(const MR_DetectTunnelSettings *_this)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_OffsetMutablePtr(MR_DetectTunnelSettings *ptr, ptrdiff_t i)
MRC_API const MR_std_function_bool_from_float * MR_DetectTunnelSettings_Get_progress(const MR_DetectTunnelSettings *_this)
MRC_API MR_DetectTunnelSettings * MR_DetectTunnelSettings_ConstructFrom(float maxTunnelLength, int maxIters, MR_PassBy metric_pass_by, MR_std_function_float_from_MR_EdgeId *metric, bool buildCoLoops, bool filterEquivalentCoLoops, MR_PassBy progress_pass_by, MR_std_function_bool_from_float *progress)
MRC_API void MR_DetectTunnelSettings_Set_metric(MR_DetectTunnelSettings *_this, MR_PassBy value_pass_by, MR_std_function_float_from_MR_EdgeId *value)
MRC_API const int * MR_DetectTunnelSettings_Get_maxIters(const MR_DetectTunnelSettings *_this)
MR_PassBy
Definition common.h:23
#define MRC_API
Definition exports.h:11