pub struct OffsetCurve { /* private fields */ }Expand description
A space curve displaced a constant signed distance perpendicular to a
reference direction: the offset direction at t is the unit vector of
tangent x reference, the classical spelling.
Point and first derivative are exact from the basis’s first two
derivatives. The second would need the basis’s third, which the
vocabulary does not carry, so derivatives_at beyond order one refuses
by name. Where the tangent runs along the reference the offset direction
is undefined and evaluation refuses.
Implementations§
Source§impl OffsetCurve
impl OffsetCurve
Sourcepub fn new(
basis: Curve,
distance: f64,
reference: Direction,
) -> OgeomResult<Self>
pub fn new( basis: Curve, distance: f64, reference: Direction, ) -> OgeomResult<Self>
Offset basis by distance along tangent x reference.
§Errors
OgeomError::Construction if the
distance is not finite and non-zero.
Trait Implementations§
Source§impl Clone for OffsetCurve
impl Clone for OffsetCurve
Source§impl Curve3d for OffsetCurve
impl Curve3d for OffsetCurve
Source§fn point_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Point>
fn point_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Point>
The point at
u. Read moreSource§fn d1_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Vector>
fn d1_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Vector>
The first derivative at
u. Read moreSource§fn derivatives_at(
&self,
u: f64,
n: usize,
tol: Tolerances,
) -> OgeomResult<Vec<Vector>>
fn derivatives_at( &self, u: f64, n: usize, tol: Tolerances, ) -> OgeomResult<Vec<Vector>>
Source§fn continuity(&self) -> Continuity
fn continuity(&self) -> Continuity
How smooth the curve is across its domain.
Source§fn is_closed(&self, tol: Tolerances) -> bool
fn is_closed(&self, tol: Tolerances) -> bool
Whether the curve’s ends meet.
Source§fn is_periodic(&self) -> bool
fn is_periodic(&self) -> bool
Whether the curve continues past its domain by repeating. Read more
Source§fn tangent_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Direction>
fn tangent_at(&self, u: f64, tol: Tolerances) -> OgeomResult<Direction>
The unit tangent at
u. Read moreSource§fn curvature_at(&self, u: f64, tol: Tolerances) -> OgeomResult<f64>
fn curvature_at(&self, u: f64, tol: Tolerances) -> OgeomResult<f64>
The curvature at
u. Read moreSource§fn start(&self, tol: Tolerances) -> OgeomResult<Point>
fn start(&self, tol: Tolerances) -> OgeomResult<Point>
The start point. Read more
Source§fn end(&self, tol: Tolerances) -> OgeomResult<Point>
fn end(&self, tol: Tolerances) -> OgeomResult<Point>
The end point. Read more
Source§fn normalize_parameter(&self, u: f64, tol: Tolerances) -> OgeomResult<f64>
fn normalize_parameter(&self, u: f64, tol: Tolerances) -> OgeomResult<f64>
Bring
u into the domain, wrapping if the curve is periodic. Read moreSource§impl Debug for OffsetCurve
impl Debug for OffsetCurve
Source§impl PartialEq for OffsetCurve
impl PartialEq for OffsetCurve
impl StructuralPartialEq for OffsetCurve
Auto Trait Implementations§
impl Freeze for OffsetCurve
impl RefUnwindSafe for OffsetCurve
impl Send for OffsetCurve
impl Sync for OffsetCurve
impl Unpin for OffsetCurve
impl UnsafeUnpin for OffsetCurve
impl UnwindSafe for OffsetCurve
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
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> Scalar for T
§impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
impl<SS, SP> SupersetOf<SS> for SPwhere
SS: SubsetOf<SP>,
§fn to_subset(&self) -> Option<SS>
fn to_subset(&self) -> Option<SS>
The inverse inclusion map: attempts to construct
self from the equivalent element of its
superset. Read more§fn is_in_subset(&self) -> bool
fn is_in_subset(&self) -> bool
Checks if
self is actually part of its subset T (and can be converted to it).§fn to_subset_unchecked(&self) -> SS
fn to_subset_unchecked(&self) -> SS
Use with care! Same as
self.to_subset but without any property checks. Always succeeds.§fn from_subset(element: &SS) -> SP
fn from_subset(element: &SS) -> SP
The inclusion map: converts
self to the equivalent element of its superset.