Struct LineSegment

Source
#[repr(C)]
pub struct LineSegment { pub p0: Point, pub p1: Point, }
Expand description

A quadratic bezier curve segment in 2-dimensional Euclidian space.

Fields§

§p0: Point§p1: Point

Implementations§

Source§

impl LineSegment

Source

pub fn new(p0: Point, p1: Point) -> LineSegment

Creates a new line segment with the given endpoints.

Source

pub fn compare_to_point(self, p: Point) -> Option<Ordering>

Compares self to the point p.

Returns Ordering::Less if self lies below p, Ordering::Greater if self lies above p, and Ordering::Equal if self is incident to p.

Source

pub fn intersect_with_vertical_line(self, x: f64) -> Option<Point>

Returns the intersection point of the supporting line of self with the vertical line through x, or None if these lines are coincident.

Trait Implementations§

Source§

impl Clone for LineSegment

Source§

fn clone(&self) -> LineSegment

Returns a copy of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for LineSegment

Source§

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

Formats the value using the given formatter. Read more
Source§

impl PartialEq for LineSegment

Source§

fn eq(&self, other: &LineSegment) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Transform for LineSegment

Source§

fn transform<T>(self, t: &T) -> LineSegment
where T: Transformation,

Source§

fn transform_mut<T>(&mut self, t: &T)
where T: Transformation,

Source§

impl Copy for LineSegment

Source§

impl StructuralPartialEq for LineSegment

Auto Trait Implementations§

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> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dst: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dst. 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> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

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

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

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.