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_FillHoleParams MR_FillHoleParams; // Defined in `#include <MRCMesh/MRMeshFillHole.h>`.
15typedef struct MR_Mesh MR_Mesh; // Defined in `#include <MRCMesh/MRMesh.h>`.
16typedef struct MR_MeshPart MR_MeshPart; // Defined in `#include <MRCMesh/MRMeshPart.h>`.
17typedef struct MR_MeshTopology MR_MeshTopology; // Defined in `#include <MRCMesh/MRMeshTopology.h>`.
18typedef struct MR_expected_MR_FaceBitSet_std_string MR_expected_MR_FaceBitSet_std_string; // Defined in `#include <MRCMisc/expected_MR_FaceBitSet_std_string.h>`.
19typedef 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>`.
20typedef 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>`.
21typedef struct MR_expected_void_std_string MR_expected_void_std_string; // Defined in `#include <MRCMisc/expected_void_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_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId; // Defined in `#include <MRCMisc/std_function_float_from_MR_EdgeId.h>`.
24typedef struct MR_std_vector_MR_EdgeId MR_std_vector_MR_EdgeId; // Defined in `#include <MRCMisc/std_vector_MR_EdgeId.h>`.
25typedef struct MR_std_vector_std_vector_MR_EdgeId MR_std_vector_std_vector_MR_EdgeId; // Defined in `#include <MRCMisc/std_vector_std_vector_MR_EdgeId.h>`.
26
27
31
41
55
62
75
82
89
95
102
110
117
125
135
145
155
163
170
178
186
193
201
208
215
222
226
231
237MRC_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);
238
242
246
251
254
257
264
273
283
292
293#ifdef __cplusplus
294} // extern "C"
295#endif
struct MR_std_vector_std_vector_MR_EdgeId MR_std_vector_std_vector_MR_EdgeId
Definition MR2DContoursTriangulation.h:18
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_expected_void_std_string MR_expected_void_std_string
Definition MRCtm.h:26
struct MR_Mesh MR_Mesh
Definition MRCtm.h:16
struct MR_std_function_float_from_MR_EdgeId MR_std_function_float_from_MR_EdgeId
Definition MREdgeMetric.h:12
struct MR_FillHoleParams MR_FillHoleParams
Definition MRFillHoleNicely.h:17
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 MR_std_vector_std_vector_MR_EdgeId * MR_findSmallestMetricEquivalentLoops(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 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_std_vector_std_vector_MR_EdgeId * MR_findShortestEquivalentLoops(const MR_MeshPart *mp, const MR_std_vector_MR_EdgeId *loop)
MRC_API MR_expected_void_std_string * MR_eliminateTunnels_4(MR_Mesh *mesh, const MR_FillHoleParams *fillHoleParams, const MR_FaceBitSet *region, const MR_DetectTunnelSettings *settings)
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)
MRC_API MR_expected_void_std_string * MR_eliminateTunnels_3(MR_Mesh *mesh, const MR_FaceBitSet *region, const MR_DetectTunnelSettings *settings)
struct MR_DetectTunnelSettings MR_DetectTunnelSettings
Definition MRTunnelDetector.h:30
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 include/MRCMisc/exports.h:11