A fused smooth union restricted to where it can differ from the plain union of its operands: the value max(u, m2 - w), u the smooth union's and m2 its second smallest operand's, w its blend length plus how far the blend deepens (s + s/4). A polynomial blend of length s changes the minimum only where the two smallest operands are within s of each other, and changes its sign only where the smallest is within s/4 of 0: both within w. Where this value is negative, the smooth union is inside; everywhere else it is inside exactly where the plain union is.
More...
template<class T, class... Cs>
struct EBGeometry::RayDetail::BlendZoneView< T, Cs >
A fused smooth union restricted to where it can differ from the plain union of its operands: the value max(u, m2 - w), u the smooth union's and m2 its second smallest operand's, w its blend length plus how far the blend deepens (s + s/4). A polynomial blend of length s changes the minimum only where the two smallest operands are within s of each other, and changes its sign only where the smallest is within s/4 of 0: both within w. Where this value is negative, the smooth union is inside; everywhere else it is inside exactly where the plain union is.
Internal helper; not part of the public API. A distance bound, as the maximum of two: far from either of the two nearest operands its value is large, so a march of it takes long steps, even near the other.
- Template Parameters
-
| T | Floating-point precision. |
| Cs | Operand types. |