pub struct ImplicitCell {
pub axis: Axis,
pub from: Scalar,
pub to: Scalar,
pub low: Scalar,
pub high: Scalar,
pub bridge: Option<(Scalar, Scalar)>,
}Expand description
One stretch of an ImplicitCurve2: as the free parameter runs from
from to to, the curve is the unique zero of the field for the other
parameter in [low, high], where the field is strictly monotone in it.
A bridge is the last stretch into a point where two branches cross (a saddle of the field on its zero set, where the surfaces touch). Near there the zero cannot be isolated with certainty, so the bridge carries the solved parameter as the cubic that matches the branch’s value and slope at both ends: at the certified end the field’s own, at the crossing the direction where the field’s Hessian vanishes, which is the branch’s tangent there. It leaves the branch by about its length to the fourth power (ADR 0077).
Fields§
§axis: AxisThe free parameter.
from: ScalarWhere the free parameter starts.
to: ScalarWhere it ends (it may run either way).
low: ScalarLower end of the bracket of the solved parameter.
high: ScalarUpper end of the bracket.
bridge: Option<(Scalar, Scalar)>For a bridge into a crossing, the slopes d solved / d free at
from and at to.
Implementations§
Source§impl ImplicitCell
impl ImplicitCell
Sourcepub fn bridge(from: Point2, to: Point2, start: Vec2, end: Vec2) -> Self
pub fn bridge(from: Point2, to: Point2, start: Vec2, end: Vec2) -> Self
A bridge from from to to in (u, v), leaving along start and
arriving along end (directions in (u, v)), free along the
parameter both directions move in most.
Sourcepub fn part(&self, s0: Scalar, s1: Scalar) -> Self
pub fn part(&self, s0: Scalar, s1: Scalar) -> Self
The part of the cell over local parameters [s0, s1].
Sourcepub fn solved_range(&self) -> (Scalar, Scalar)
pub fn solved_range(&self) -> (Scalar, Scalar)
The smallest and largest solved value the cell can take: a bridge’s range is bounded by its Bezier control values.
Trait Implementations§
Source§impl Clone for ImplicitCell
impl Clone for ImplicitCell
Source§fn clone(&self) -> ImplicitCell
fn clone(&self) -> ImplicitCell
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more