Enum Derivation
#[non_exhaustive]pub enum Derivation {
Show 14 variants
PlanePlaneLine,
CylinderPlanePerpendicularCircle,
CylinderPlaneObliqueEllipse,
SpherePlaneCircle,
SphereSphereCircle,
CylinderCylinderSteinmetzEllipses,
ParallelCylinderLines,
CylinderPlaneParallelRulings,
CoaxialRevolutionCircles,
RuledQuadricSection,
TorusAngleSection,
ConeApexRulings,
ImplicitTrace,
PairTrace,
}Expand description
The closed-form identity behind an exact intersection curve.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
PlanePlaneLine
Two non-parallel planes meet in a line along n1 x n2.
CylinderPlanePerpendicularCircle
A plane perpendicular to a cylinder axis cuts a circle of the cylinder’s own radius.
CylinderPlaneObliqueEllipse
A plane oblique to a cylinder axis cuts an ellipse with semi-axes
r and r / cos(theta).
SpherePlaneCircle
A plane at signed distance d from a sphere centre cuts a circle of
radius sqrt(r^2 - d^2).
SphereSphereCircle
Two spheres meet in a circle in their radical plane.
CylinderCylinderSteinmetzEllipses
Equal-radius cylinders on intersecting axes cut two ellipses.
ParallelCylinderLines
Cylinders with parallel axes meet in one or two axis-parallel lines.
CylinderPlaneParallelRulings
A plane parallel to a cylinder axis cuts one or two rulings.
CoaxialRevolutionCircles
Two coaxial surfaces of revolution meet in circles perpendicular to the shared axis, found by intersecting their meridian profiles.
RuledQuadricSection
A quadric substituted into a ruled carrier (cylinder, elliptical cylinder, or a cone cut by a plane) is quadratic in the ruling parameter at every angle; the curve is a root branch of that quadratic (ADR 0076).
TorusAngleSection
A plane or sphere meets each circle of a torus about its axis where
A(v) cos u + B(v) sin u = C(v); the curve is u as a function of
the tube angle v (ADR 0076).
ConeApexRulings
A plane through a cone’s apex cuts rays along its rulings, starting at the apex.
ImplicitTrace
The zero set of one surface’s equation read in the other’s parameters, traced into certified monotone cells (ADR 0077): a torus against a cylinder, cone or torus off its axis.
PairTrace
Two B-spline surfaces meet along curves found by splitting Bezier sub-patch pairs until no closed loop can hide in one, seeded where sub-patch edges cross, and followed on both surfaces (ADR 0077).
Trait Implementations§
§impl Clone for Derivation
impl Clone for Derivation
§fn clone(&self) -> Derivation
fn clone(&self) -> Derivation
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more§impl Debug for Derivation
impl Debug for Derivation
§impl PartialEq for Derivation
impl PartialEq for Derivation
impl Copy for Derivation
impl Eq for Derivation
impl StructuralPartialEq for Derivation
Auto Trait Implementations§
impl Freeze for Derivation
impl RefUnwindSafe for Derivation
impl Send for Derivation
impl Sync for Derivation
impl Unpin for Derivation
impl UnwindSafe for Derivation
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