pub struct Concat<A, B> { /* private fields */ }Expand description
Two paths joined end-to-end into a single continuous path.
The combined path has length first.length() + second.length(). Sampling
below first.length() delegates to the first path; the remainder delegates
to the second with a shifted arc-length.
Implementations§
Trait Implementations§
Source§impl<A: Path, B: Path<Scalar = A::Scalar, Point = A::Point, Error = A::Error>> Path for Concat<A, B>
impl<A: Path, B: Path<Scalar = A::Scalar, Point = A::Point, Error = A::Error>> Path for Concat<A, B>
Source§type Scalar = <A as Path>::Scalar
type Scalar = <A as Path>::Scalar
The scalar type for arc-length, parameter, and distance computations.
Source§type Error = <A as Path>::Error
type Error = <A as Path>::Error
The error type for fallible operations. Must be convertible from
PathError<Self::Scalar>.Source§fn sample_at(&self, s: Self::Scalar) -> Result<Self::Point, Self::Error>
fn sample_at(&self, s: Self::Scalar) -> Result<Self::Point, Self::Error>
Sample the path at arc-length
s ∈ [0, length]. Read moreSource§fn start(&self) -> Result<Self::Point, Self::Error>
fn start(&self) -> Result<Self::Point, Self::Error>
The start point of the path, equivalent to
sample_at(0).Source§fn end(&self) -> Result<Self::Point, Self::Error>
fn end(&self) -> Result<Self::Point, Self::Error>
The end point of the path, equivalent to
sample_at(length).Source§fn domain(&self) -> RangeInclusive<Self::Scalar>
fn domain(&self) -> RangeInclusive<Self::Scalar>
The valid domain for arc-length sampling:
[0, length].Source§impl<A, B> SegmentedPath for Concat<A, B>where
A: Path + SegmentedPath,
B: Path<Scalar = A::Scalar, Point = A::Point, Error = A::Error> + SegmentedPath<Segment = A::Segment>,
A::Segment: PathSegment<Scalar = A::Scalar, Point = A::Point, Error = A::Error>,
impl<A, B> SegmentedPath for Concat<A, B>where
A: Path + SegmentedPath,
B: Path<Scalar = A::Scalar, Point = A::Point, Error = A::Error> + SegmentedPath<Segment = A::Segment>,
A::Segment: PathSegment<Scalar = A::Scalar, Point = A::Point, Error = A::Error>,
Auto Trait Implementations§
impl<A, B> Freeze for Concat<A, B>
impl<A, B> RefUnwindSafe for Concat<A, B>where
A: RefUnwindSafe,
B: RefUnwindSafe,
impl<A, B> Send for Concat<A, B>
impl<A, B> Sync for Concat<A, B>
impl<A, B> Unpin for Concat<A, B>
impl<A, B> UnsafeUnpin for Concat<A, B>where
A: UnsafeUnpin,
B: UnsafeUnpin,
impl<A, B> UnwindSafe for Concat<A, B>where
A: UnwindSafe,
B: UnwindSafe,
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