Classes | |
struct | MR::DetectTunnelSettings |
Functions | |
MRMESH_API Expected< std::vector< EdgeLoop > > | MR::detectBasisTunnels (const MeshPart &mp, EdgeMetric metric={}, ProgressCallback progressCallback={}) |
MRMESH_API Expected< FaceBitSet > | MR::detectTunnelFaces (const MeshPart &mp, const DetectTunnelSettings &settings={}) |
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
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