#[non_exhaustive]pub enum ExactIntersectionRefusal {
UnsupportedPair,
Disjoint,
NotRegularCurve,
DegenerateFrame,
UnrepresentableConic,
Undecided,
}Expand description
Why an elementary pair has no exact closed-form intersection curve here.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
UnsupportedPair
The pair is not one of the supported elementary combinations.
Not a statement about the geometry: the intersection may well be a nameable curve, just not one this module derives.
Disjoint
The surfaces are parallel or concentric and do not meet at all.
NotRegularCurve
The surfaces coincide or touch tangentially, so the intersection is not a regular curve.
A single tangential point or a shared surface patch cannot be returned as a curve without inventing structure.
DegenerateFrame
A required frame axis was degenerate, so no exact frame can be built.
UnrepresentableConic
The intersection is a parabola or hyperbola, which Curve3 has no
variant for.
The curve is perfectly well defined and exactly derivable; it simply cannot be represented without adding a conic variant. Refusing names that representational gap instead of substituting a nearby ellipse or a fitted spline.
Undecided
A traced section could not be decided within its work budget or
near a singular point whose branches do not match the field’s sign
changes about it. Unlike NotRegularCurve, this says nothing of
whether the surfaces cross there.
Trait Implementations§
Source§impl Clone for ExactIntersectionRefusal
impl Clone for ExactIntersectionRefusal
Source§fn clone(&self) -> ExactIntersectionRefusal
fn clone(&self) -> ExactIntersectionRefusal
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more