#include <MRTunnelDetector.h>
Public Attributes | |
| float | maxTunnelLength = FLT_MAX |
| maximal euclidean length of tunnel loops to detect | |
| int | maxIters = 1 |
| EdgeMetric | metric |
| bool | buildCoLoops = true |
| bool | filterEquivalentCoLoops = false |
| ProgressCallback | progress |
| to report algorithm progress and cancel from outside | |
| bool MR::DetectTunnelSettings::buildCoLoops = true |
if true then for every basis loop, findSmallestMetricCoLoop will be called; it typically results in shorter tunnels found, but requires more time per iteration, and more iterations to find all tunnels
| bool MR::DetectTunnelSettings::filterEquivalentCoLoops = false |
if ( buildCoLoops ) then some tunnel loops can be equivalent (e.g. they cut the same handle twice), this option activates their filtering out, but it is very slow
| int MR::DetectTunnelSettings::maxIters = 1 |
maximal number of iterations to detect all tunnels; on a big mesh with many tunnels even one iteration can take a while
| float MR::DetectTunnelSettings::maxTunnelLength = FLT_MAX |
maximal euclidean length of tunnel loops to detect
| EdgeMetric MR::DetectTunnelSettings::metric |
edge metric that will be used in optimizations, if co-loops are enabled then this metric must be not-negative, if no metric is given then either discreteMinusAbsMeanCurvatureMetric (if buildCoLoops = false) or edgeLengthMetric (if buildCoLoops = true) will be used, using caching via edgeTableSymMetric function can improve the performance, especially in buildCoLoops = true mode
| ProgressCallback MR::DetectTunnelSettings::progress |
to report algorithm progress and cancel from outside