Skip to main content

FrameLaw

Struct FrameLaw 

Source
pub struct FrameLaw<'b, 'c> { /* private fields */ }
Expand description

Certified bounds on the frame law along a station basis (#316): an atomic curve or a CompositeBasis, over spans that cross no seam.

A piece read in closed form is bounded by piece_frame_bounds. A piece read by quadrature – an ellipse, a B-spline, an offset beside a line, a circle, an ellipse or a B-spline – is bounded against its exact frame law, its own length measured once by chord panels to the tolerance (see the module documentation): the measure is how far a read’s true distance lies from the one asked for, and the read point’s and axes’ distances from the exact frame at that true distance are FrameLawBounds::point_error and FrameLawBounds::axis_error. On a composite, a piece after one measured by quadrature starts where the kernel sums the lengths before it, which CompositeBasis::joint_intervals certifies: its distance from the true joint is added to the measure.

Not bounded (None): every family piece_frame_bounds leaves unbounded other than those above (an intrinsic curve, a chain, an offset beside a curve parameterised by its plan length or beside a banked curve, a skewed circle, a steep tangent), a curve read by quadrature placed in a frame that tilts +Z, a placed offset piece, and a piece after joints whose distances are not certified at the tolerance.

Implementations§

Source§

impl<'b, 'c> FrameLaw<'b, 'c>

Source

pub fn atomic( curve: StationCurve<'c>, placement: Option<DAffine3>, tolerance: f64, ) -> Result<FrameLaw<'b, 'c>, GeomError>

The frame law along the atomic curve, placed by placement if any, its quadratures certified to tolerance.

§Errors

A tolerance that is not finite and positive, and a curve read by quadrature whose length a station cannot be measured against, by name.

Source

pub fn composite( basis: &'b CompositeBasis<'c>, tolerance: f64, ) -> Result<FrameLaw<'b, 'c>, GeomError>

The frame law along basis, its quadratures certified to tolerance.

§Errors

A tolerance that is not finite and positive, by name.

Source

pub fn bounds( &self, a: f64, b: f64, reading: FrameReading, ) -> Option<FrameLawBounds>

Certified bounds of the frame law over the distances [a, b] along the basis, a span that crosses no seam, read as reading; None where they are not certified (see the type documentation).

Trait Implementations§

Source§

impl Debug for FrameLaw<'_, '_>

Source§

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

Formats the value using the given formatter. Read more

Auto Trait Implementations§

§

impl<'b, 'c> !Freeze for FrameLaw<'b, 'c>

§

impl<'b, 'c> !RefUnwindSafe for FrameLaw<'b, 'c>

§

impl<'b, 'c> !Sync for FrameLaw<'b, 'c>

§

impl<'b, 'c> Send for FrameLaw<'b, 'c>

§

impl<'b, 'c> Unpin for FrameLaw<'b, 'c>

§

impl<'b, 'c> UnsafeUnpin for FrameLaw<'b, 'c>

§

impl<'b, 'c> UnwindSafe for FrameLaw<'b, 'c>

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> 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, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = !

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

fn try_from(value: U) -> Result<T, !>

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.