MeshLib Documentation
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
32
35MRMESH_API Expected<FaceBitSet> detectTunnelFaces( const MeshPart& mp, const DetectTunnelSettings & settings = {} );
36
38
39} // namespace MR
#define MRMESH_API
Definition MRMesh/MRMeshFwd.h:46
std::function< bool(float)> ProgressCallback
Definition MRMesh/MRMeshFwd.h:576
MRMESH_API Expected< std::vector< EdgeLoop > > detectBasisTunnels(const MeshPart &mp, EdgeMetric metric={}, ProgressCallback progressCallback={})
MRMESH_API Expected< FaceBitSet > detectTunnelFaces(const MeshPart &mp, const DetectTunnelSettings &settings={})
Definition MRCameraOrientationPlugin.h:8
tl::expected< T, E > Expected
Definition MRExpected.h:58
std::function< float(EdgeId)> EdgeMetric
Definition MRMesh/MRMeshFwd.h:438
Definition MRTunnelDetector.h:21
EdgeMetric metric
if no metric is given then discreteMinusAbsMeanCurvatureMetric will be used
Definition MRTunnelDetector.h:28
int maxIters
Definition MRTunnelDetector.h:26
float maxTunnelLength
maximal length of tunnel loops to consider
Definition MRTunnelDetector.h:23
ProgressCallback progress
to report algorithm progress and cancel from outside
Definition MRTunnelDetector.h:30