Enum ExactIntersectionRefusal
#[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§
§impl Clone for ExactIntersectionRefusal
impl Clone for ExactIntersectionRefusal
§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§impl Debug for ExactIntersectionRefusal
impl Debug for ExactIntersectionRefusal
§impl PartialEq for ExactIntersectionRefusal
impl PartialEq for ExactIntersectionRefusal
impl Eq for ExactIntersectionRefusal
impl StructuralPartialEq for ExactIntersectionRefusal
Auto Trait Implementations§
impl Freeze for ExactIntersectionRefusal
impl RefUnwindSafe for ExactIntersectionRefusal
impl Send for ExactIntersectionRefusal
impl Sync for ExactIntersectionRefusal
impl Unpin for ExactIntersectionRefusal
impl UnwindSafe for ExactIntersectionRefusal
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more