MeshLib C++ Docs
Loading...
Searching...
No Matches
MRTunnelDetector.h
Go to the documentation of this file.
1#pragma once
2
3#include "MREdgeMetric.h"
5#include "MRExpected.h"
6#include <cfloat>
7
8namespace MR
9{
10
14
18MRMESH_API Expected<std::vector<EdgeLoop>> detectBasisTunnels( const MeshPart& mp, EdgeMetric metric = {}, ProgressCallback progressCallback = {} );
19
26MRMESH_API Expected<EdgeLoop> findSmallestMetricCoLoop( const MeshTopology& topology, const EdgeLoop& loop, const EdgeMetric& metric,
27 const FaceBitSet* region = nullptr );
28
30MRMESH_API Expected<EdgeLoop> findShortestCoLoop( const MeshPart& mp, const EdgeLoop& loop );
31
33{
35 float maxTunnelLength = FLT_MAX;
36
39 int maxIters = 1;
40
43 EdgeMetric metric;
44
47 bool buildCoLoops = true;
48
51 bool filterEquivalentCoLoops = false;
52
54 ProgressCallback progress;
55};
56
59MRMESH_API Expected<FaceBitSet> detectTunnelFaces( const MeshPart& mp, const DetectTunnelSettings & settings = {} );
60
62
63} // namespace MR
#define MRMESH_API
Definition MRMeshFwd.h:80
Definition MRTunnelDetector.h:33
new unsafe MR.Std.Function_FloatFuncFromMREdgeId metric
new unsafe ref bool filterEquivalentCoLoops
new unsafe MR.Std.Function_BoolFuncFromFloat progress
new unsafe ref float maxTunnelLength
new unsafe ref bool buildCoLoops
new unsafe ref int maxIters
Definition MRMesh/MRMeshTopology.h:19
MRMESH_API Expected< EdgeLoop > findSmallestMetricCoLoop(const MeshTopology &topology, const EdgeLoop &loop, const EdgeMetric &metric, const FaceBitSet *region=nullptr)
MRMESH_API Expected< std::vector< EdgeLoop > > detectBasisTunnels(const MeshPart &mp, EdgeMetric metric={}, ProgressCallback progressCallback={})
MRMESH_API Expected< EdgeLoop > findShortestCoLoop(const MeshPart &mp, const EdgeLoop &loop)
same as findMinimalCoLoop with euclidean edge length metric
MRMESH_API Expected< FaceBitSet > detectTunnelFaces(const MeshPart &mp, const DetectTunnelSettings &settings={})
Definition MRCameraOrientationPlugin.h:8