pub enum CylinderCylinderIntersection {
TwoLines(Line3D, Line3D),
TangentLine(Line3D),
Empty,
Coincident,
NotAnalytic,
}Expand description
Result of intersecting two cylinders.
The analytic path requires parallel axes (within tol.angular);
skew or crossing axes give a space quartic and report
CylinderCylinderIntersection::NotAnalytic, reserved for the
numeric surface-surface path.
Variants§
TwoLines(Line3D, Line3D)
Two shared generators.
TangentLine(Line3D)
One shared grazing generator.
Empty
Separate, nested without contact, or concentric with different radii.
Coincident
Same axis and radius within tolerance.
NotAnalytic
No closed form: the pair is not in analytic configuration.
Trait Implementations§
Source§impl Clone for CylinderCylinderIntersection
impl Clone for CylinderCylinderIntersection
impl Copy for CylinderCylinderIntersection
Source§impl Debug for CylinderCylinderIntersection
impl Debug for CylinderCylinderIntersection
impl StructuralPartialEq for CylinderCylinderIntersection
Auto Trait Implementations§
impl Freeze for CylinderCylinderIntersection
impl RefUnwindSafe for CylinderCylinderIntersection
impl Send for CylinderCylinderIntersection
impl Sync for CylinderCylinderIntersection
impl Unpin for CylinderCylinderIntersection
impl UnsafeUnpin for CylinderCylinderIntersection
impl UnwindSafe for CylinderCylinderIntersection
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