Enum Derivation

Source
#[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
Non-exhaustive enums could have additional variants added in future. Therefore, when matching against variants of non-exhaustive enums, an extra wildcard arm must be added to account for any future variants.
§

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§

Source§

impl Clone for Derivation

Source§

fn clone(&self) -> Derivation

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for Derivation

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for Derivation

Source§

fn eq(&self, other: &Derivation) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for Derivation

Source§

impl Eq for Derivation

Source§

impl StructuralPartialEq for Derivation

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.