pub struct IntrinsicPositionTable { /* private fields */ }Expand description
Certified positions of an intrinsic curve over [0, end], read in any
order: the unit tangent of its closed-form heading integrated by the
composite two-point Gauss-Legendre rule, each point with a certified
bound on its error (see the module documentation).
Implementations§
Source§impl IntrinsicPositionTable
impl IntrinsicPositionTable
Sourcepub fn new2(
curve: &Intrinsic2,
error: f64,
end: f64,
) -> Option<IntrinsicPositionTable>
pub fn new2( curve: &Intrinsic2, error: f64, end: f64, ) -> Option<IntrinsicPositionTable>
The table of a 2D intrinsic curve over [0, end], its points
within about error, half of it spent on the remainders; None
for an error or an end that is not finite and positive, an end past
the curve’s length, a law with no closed-form bound of k to k'''
on a seam-free piece, or more than MAX_TABLE_PANELS panels.
Sourcepub fn new3(
curve: &Intrinsic3,
error: f64,
end: f64,
) -> Option<IntrinsicPositionTable>
pub fn new3( curve: &Intrinsic3, error: f64, end: f64, ) -> Option<IntrinsicPositionTable>
The table of a planar space curve (its torsion law identically zero,
Intrinsic3::is_planar); None as for Self::new2, or for a
curve with torsion.
Sourcepub fn point2(&self, s: f64) -> Option<(DVec2, f64)>
pub fn point2(&self, s: f64) -> Option<(DVec2, f64)>
The point at arc length s of a 2D curve and a certified bound on
its distance from the exact point: the same bits whatever was read
before. None outside [0, end], for a law that does not integrate
there, or for a space curve.
Sourcepub fn max_error(&self) -> f64
pub fn max_error(&self) -> f64
A certified bound on the error of every point the table returns
(the error of Self::point2 and Self::point3 grows with s
and is never above it): the remainders of all panels and the
roundings of the end, through the start frame.
Sourcepub fn heading_rounding(&self) -> f64
pub fn heading_rounding(&self) -> f64
A certified bound on the rounding of the heading, in radians: what a tangent read from it may be turned by.
Trait Implementations§
Source§impl Clone for IntrinsicPositionTable
impl Clone for IntrinsicPositionTable
Source§fn clone(&self) -> IntrinsicPositionTable
fn clone(&self) -> IntrinsicPositionTable
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for IntrinsicPositionTable
impl RefUnwindSafe for IntrinsicPositionTable
impl Send for IntrinsicPositionTable
impl Sync for IntrinsicPositionTable
impl Unpin for IntrinsicPositionTable
impl UnsafeUnpin for IntrinsicPositionTable
impl UnwindSafe for IntrinsicPositionTable
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
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