pub enum TorusTorusIntersection {
Circle(Circle3D),
TwoCircles(Circle3D, Circle3D),
TangentCircle(Circle3D),
Empty,
Coincident,
NotAnalytic,
}Expand description
Result of intersecting two tori.
The analytic path needs collinear axes, reducing to quadratics in the
axial coordinate. Anything else (up to degree 16) reports
TorusTorusIntersection::NotAnalytic.
Variants§
Circle(Circle3D)
Latitude ring.
TwoCircles(Circle3D, Circle3D)
Two latitude rings.
TangentCircle(Circle3D)
Grazing ring.
Empty
No rings.
Coincident
Same center and radii within tolerance.
NotAnalytic
No closed form: the pair is not in analytic configuration.
Trait Implementations§
Source§impl Clone for TorusTorusIntersection
impl Clone for TorusTorusIntersection
impl Copy for TorusTorusIntersection
Source§impl Debug for TorusTorusIntersection
impl Debug for TorusTorusIntersection
Source§impl From<TorusTorusIntersection> for SurfaceIntersection
impl From<TorusTorusIntersection> for SurfaceIntersection
Source§fn from(result: TorusTorusIntersection) -> SurfaceIntersection
fn from(result: TorusTorusIntersection) -> SurfaceIntersection
Converts to this type from the input type.
Source§impl PartialEq for TorusTorusIntersection
impl PartialEq for TorusTorusIntersection
impl StructuralPartialEq for TorusTorusIntersection
Auto Trait Implementations§
impl Freeze for TorusTorusIntersection
impl RefUnwindSafe for TorusTorusIntersection
impl Send for TorusTorusIntersection
impl Sync for TorusTorusIntersection
impl Unpin for TorusTorusIntersection
impl UnsafeUnpin for TorusTorusIntersection
impl UnwindSafe for TorusTorusIntersection
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
Mutably borrows from an owned value. Read more