MeshLib
 
Loading...
Searching...
No Matches
Tunnel Detector

Classes

struct  MR::DetectTunnelSettings
 

Functions

MRMESH_API Expected< std::vector< EdgeLoop > > MR::detectBasisTunnels (const MeshPart &mp, EdgeMetric metric={}, ProgressCallback progressCallback={})
 
MRMESH_API Expected< FaceBitSetMR::detectTunnelFaces (const MeshPart &mp, const DetectTunnelSettings &settings={})
 

Detailed Description

Function Documentation

◆ detectBasisTunnels()

MRMESH_API Expected< std::vector< EdgeLoop > > MR::detectBasisTunnels ( const MeshPart & mp,
EdgeMetric metric = {},
ProgressCallback progressCallback = {} )

detects all not-contractible-in-point and not-equivalent tunnel loops on the mesh; trying to include in the loops the edges with the smallest metric; if no metric is given then discreteMinusAbsMeanCurvatureMetric will be used

◆ detectTunnelFaces()

MRMESH_API Expected< FaceBitSet > MR::detectTunnelFaces ( const MeshPart & mp,
const DetectTunnelSettings & settings = {} )

returns tunnels as a number of faces; if you remove these faces and patch every boundary with disk, then the surface will be topology equivalent to sphere