@@ -8,11 +8,22 @@ namespace MR
88// / how to determine the sign of distances from a mesh
99enum class SignDetectionMode
1010{
11- Unsigned, // /< unsigned distance, useful for bidirectional `Shell` offset
12- OpenVDB, // /< sign detection from OpenVDB library, which is good and fast if input geometry is closed
13- ProjectionNormal, // /< the sign is determined based on pseudonormal in closest mesh point (unsafe in case of self-intersections)
14- WindingRule, // /< ray intersection counter, significantly slower than ProjectionNormal and does not support holes in mesh
15- HoleWindingRule // /< computes winding number generalization with support of holes in mesh, slower than WindingRule
11+ // / unsigned distance, useful for bidirectional `Shell` offset
12+ Unsigned,
13+
14+ // / sign detection from OpenVDB library, which is good and fast if input geometry is closed
15+ OpenVDB,
16+
17+ // / the sign is determined based on pseudonormal in closest mesh point (unsafe in case of self-intersections)
18+ ProjectionNormal,
19+
20+ // / ray intersection counter, significantly slower than ProjectionNormal and does not support holes in mesh;
21+ // / this mode is slow, and it does NOT have CUDA acceleration at this moment
22+ WindingRule,
23+
24+ // / computes robust winding number generalization with support of holes and self-intersections in mesh,
25+ // / it is the slowest sign detection mode, but it CAN be accelerated with CUDA if this mode activated e.g. in OffsetParameters.fwn
26+ HoleWindingRule
1627};
1728
1829// / returns string representation of enum values
0 commit comments