[][src]Struct mgf::Simplex

pub struct Simplex<Point = Point3<f32>> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
{ /* fields omitted */ }

Methods

impl<Point> Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static + Debug
[src]

pub fn closest_point_to_origin<S>(&mut self, shape: &S) -> Point3<f32> where
    S: Convex<Point>, 
[src]

Finds the closest point on the shape to the origin

impl Simplex<SupportPoint>[src]

pub fn compute_contact<S1, S2>(&self, s1: &S1, s2: &S2) -> Contact where
    S1: Convex,
    S2: Convex
[src]

Generates a contact from a simplex. This uses the EPA algorithm. Based on the description here: http://hacktank.net/blog/?p=119

Trait Implementations

impl<Point> Debug for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static + Debug
[src]

impl<Point> From<[Point; 1]> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<[Point; 2]> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<[Point; 3]> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<[Point; 4]> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<(Point, Point, Point, Point)> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<(Point, Point, Point)> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<(Point, Point)> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

impl<Point> From<Point> for Simplex<Point> where
    Point: Into<Point3<f32>> + From<Point3<f32>> + Copy + Clone + 'static, 
[src]

Auto Trait Implementations

impl<Point = Point3<f32>> !RefUnwindSafe for Simplex<Point>

impl<Point = Point3<f32>> !Send for Simplex<Point>

impl<Point = Point3<f32>> !Sync for Simplex<Point>

impl<Point> Unpin for Simplex<Point> where
    Point: Unpin

impl<Point = Point3<f32>> !UnwindSafe for Simplex<Point>

Blanket Implementations

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

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

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

impl<T> From<!> for T[src]

impl<T> From<T> for T[src]

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

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

type Error = Infallible

The type returned in the event of a conversion error.

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

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

The type returned in the event of a conversion error.