[][src]Struct descartes::LinePath

pub struct LinePath {
    pub points: VecLike<P2>,
    pub distances: VecLike<N>,
}

Fields

points: VecLike<P2>distances: VecLike<N>

Methods

impl LinePath[src]

Creation

pub fn new(points: VecLike<P2>) -> Option<Self>[src]

impl LinePath[src]

Inspection

pub fn start(&self) -> P2[src]

pub fn end(&self) -> P2[src]

pub fn length(&self) -> N[src]

pub fn segments<'a>(&'a self) -> impl Iterator<Item = LineSegment> + 'a[src]

pub fn segments_with_distances(
    &self
) -> impl Iterator<Item = (LineSegment, &[N])>
[src]

pub fn first_segment(&self) -> LineSegment[src]

pub fn last_segment(&self) -> LineSegment[src]

pub fn nth_segment(&self, n: usize) -> LineSegment[src]

pub fn find_on_segment(&self, distance: N) -> Option<(LineSegment, N)>[src]

pub fn along(&self, distance: N) -> P2[src]

pub fn direction_along(&self, distance: N) -> V2[src]

pub fn start_direction(&self) -> V2[src]

pub fn end_direction(&self) -> V2[src]

pub fn project_with_tolerance(&self, point: P2, tolerance: N) -> Option<(N, P2)>[src]

pub fn project_with_max_distance(
    &self,
    point: P2,
    tolerance: N,
    max_distance: N
) -> Option<(N, P2)>
[src]

pub fn project(&self, point: P2) -> Option<(N, P2)>[src]

pub fn includes(&self, point: P2) -> bool[src]

pub fn distance_to(&self, point: P2) -> N[src]

impl LinePath[src]

Combination/Modification

pub fn concat(&self, other: &Self) -> Result<Self, ConcatError>[src]

pub fn concat_weld(
    &self,
    other: &Self,
    tolerance: N
) -> Result<Self, ConcatError>
[src]

pub fn reverse(&self) -> Self[src]

pub fn subsection(&self, start: N, end: N) -> Option<Self>[src]

Important traits for DashIterator<'a>
pub fn dash(&self, dash_length: N, gap_length: N) -> DashIterator[src]

pub fn shift_orthogonally_vectors<'a>(
    &'a self
) -> impl Iterator<Item = ShiftVector> + 'a
[src]

pub fn shift_orthogonally(&self, shift_to_right: N) -> Option<Self>[src]

pub fn with_new_start_and_end(&self, new_start: P2, new_end: P2) -> Option<Self>[src]

impl LinePath[src]

pub fn from_svg(string: &str) -> Option<Self>[src]

pub fn to_svg(&self) -> String[src]

Trait Implementations

impl<'a> RoughEq for &'a LinePath[src]

fn rough_eq(&self, other: Self) -> bool[src]

impl Clone for LinePath[src]

fn clone_from(&mut self, source: &Self)
1.0.0
[src]

Performs copy-assignment from source. Read more

impl Debug for LinePath[src]

Auto Trait Implementations

impl Send for LinePath

impl Sync for LinePath

Blanket Implementations

impl<T, U> Into for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T> From for T[src]

impl<T, U> TryFrom for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T> Borrow for T where
    T: ?Sized
[src]

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> BorrowMut for T where
    T: ?Sized
[src]

impl<T, U> TryInto for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<T> Same for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>,