Line2f

Struct Line2f 

Source
pub struct Line2f {
    pub points: (Vec2f, Vec2f),
}

Fields§

§points: (Vec2f, Vec2f)

Implementations§

Source§

impl Line2f

Source

pub fn new(a: Vec2f, b: Vec2f) -> Line2f

Source

pub fn reverse(self) -> Line2f

Source

pub fn closest_parametric_point(self, point: Vec2f) -> f32

Source

pub fn point_distance_squared(self, point: Vec2f) -> f32

Source

pub fn cart_from_para(self, t: f32) -> Vec2f

Source

pub fn orient(self, point: Vec2f) -> f32

If result is greater than zero point lies to the left of the line. If result is less than zero point lies to the right. If result is zero, the point is on the line.

The value is also twice the signed area of the triangle (points.0, points.1, point) (positive if counterclockwise, otherwise negative).

Adapted from “Real-Time Collision Detection” by Christer Ericson, published by Morgan Kaufmann Publishers, Copyright 2005 Elsevier Inc

Trait Implementations§

Source§

impl Clone for Line2f

Source§

fn clone(&self) -> Line2f

Returns a duplicate 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 Line2f

Source§

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

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

impl PartialEq for Line2f

Source§

fn eq(&self, other: &Line2f) -> 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 Copy for Line2f

Source§

impl StructuralPartialEq for Line2f

Auto Trait Implementations§

§

impl Freeze for Line2f

§

impl RefUnwindSafe for Line2f

§

impl Send for Line2f

§

impl Sync for Line2f

§

impl Unpin for Line2f

§

impl UnwindSafe for Line2f

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, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. 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.