pub struct SectionCurve {
pub curve: Curve,
pub on_a: Option<PlanarCurve>,
pub on_b: Option<PlanarCurve>,
pub tolerance: f64,
pub exact: bool,
pub closed: bool,
pub tangential: bool,
}Expand description
One curve of a section, with its parameter-space descriptions.
Fields§
§curve: CurveThe curve in space.
on_a: Option<PlanarCurve>The curve in the first surface’s parameter space, where it has one.
Always present for a fitted curve. For an exact curve, present when the
projection has a closed form (a line on a plane, a circle on the
cylinder it wraps) and None where it does not, which is a statement
about the projection rather than about the curve.
on_b: Option<PlanarCurve>The same, on the second surface.
tolerance: f64How far this curve may sit from the true intersection.
Zero for an exact curve. For a fitted one, the trace’s chord tolerance plus the fit’s reported error: the sum of the stated parts.
exact: boolWhether the curve came from a closed form.
closed: boolWhether it is a closed loop.
tangential: boolWhether the surfaces touch along this curve rather than crossing it.
A tangential contact is a real curve (the two surfaces meet there, and a drawing has to show it), but it carries no boundary parity: neither surface passes through the other, so nothing is inside on one side and outside on the other. Consumers that classify by crossing must leave these out of that arithmetic; consumers that draw or measure contact want them.
Trait Implementations§
Source§impl Clone for SectionCurve
impl Clone for SectionCurve
Source§impl Debug for SectionCurve
impl Debug for SectionCurve
Source§impl PartialEq for SectionCurve
impl PartialEq for SectionCurve
impl StructuralPartialEq for SectionCurve
Auto Trait Implementations§
impl Freeze for SectionCurve
impl RefUnwindSafe for SectionCurve
impl Send for SectionCurve
impl Sync for SectionCurve
impl Unpin for SectionCurve
impl UnsafeUnpin for SectionCurve
impl UnwindSafe for SectionCurve
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,
impl<T> Scalar for T
Source§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
Source§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
self from the equivalent element of its
superset. Read moreSource§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
self is actually part of its subset T (and can be converted to it).Source§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
self.to_subset but without any property checks. Always succeeds.Source§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
self to the equivalent element of its superset.