pub struct LineCurve { /* private fields */ }Expand description
A straight line, parameterized by length from its origin.
Implementations§
Source§impl LineCurve
impl LineCurve
Sourcepub const fn new(axis: Axis) -> Self
pub const fn new(axis: Axis) -> Self
A line along axis, spanning LINE_EXTENT either side of its origin.
Sourcepub fn segment(from: Point, to: Point, tol: Tolerances) -> OgeomResult<Self>
pub fn segment(from: Point, to: Point, tol: Tolerances) -> OgeomResult<Self>
A line segment between two distinct points.
The domain runs from zero to the distance between them, so the parameter is arc length, which makes every length query along the segment exact.
§Errors
OgeomError::Construction if the points
coincide.
Sourcepub fn over(axis: Axis, start: f64, end: f64) -> OgeomResult<Self>
pub fn over(axis: Axis, start: f64, end: f64) -> OgeomResult<Self>
A line over an explicit parameter range.
§Errors
OgeomError::Construction if the range
is empty or non-finite.
Trait Implementations§
impl Copy for LineCurve
Source§impl Curve3d for LineCurve
impl Curve3d for LineCurve
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 moreimpl StructuralPartialEq for LineCurve
Auto Trait Implementations§
impl Freeze for LineCurve
impl RefUnwindSafe for LineCurve
impl Send for LineCurve
impl Sync for LineCurve
impl Unpin for LineCurve
impl UnsafeUnpin for LineCurve
impl UnwindSafe for LineCurve
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.