[][src]Struct ncollide3d::query::algorithms::epa3::EPA

pub struct EPA<N: Real> { /* fields omitted */ }

The Expanding Polytope Algorithm in 3D.

Methods

impl<N: Real> EPA<N>[src]

pub fn new() -> Self[src]

Creates a new instance of the 3D Expanding Polytope Algorithm.

pub fn project_origin<G: ?Sized>(
    &mut self,
    m: &Isometry<N>,
    g: &G,
    simplex: &VoronoiSimplex<N>
) -> Option<Point<N>> where
    G: SupportMap<N>, 
[src]

Projects the origin on boundary of the given shape.

The origin is assumed to be inside of the shape. If it is outside use the GJK algorithm instead. Return None if the origin is not inside of the shape or if the EPA algorithm failed to compute the projection.

pub fn closest_points<G1: ?Sized, G2: ?Sized>(
    &mut self,
    m1: &Isometry<N>,
    g1: &G1,
    m2: &Isometry<N>,
    g2: &G2,
    simplex: &VoronoiSimplex<N>
) -> Option<(Point<N>, Point<N>, Unit<Vector<N>>)> where
    G1: SupportMap<N>,
    G2: SupportMap<N>, 
[src]

Projects the origin on a shape unsing the EPA algorithm.

The origin is assumed to be located inside of the shape. Returns None if the EPA fails to converge or if g1 and g2 are not penetrating.

Auto Trait Implementations

impl<N> Send for EPA<N> where
    N: Scalar

impl<N> Sync for EPA<N> where
    N: Scalar

Blanket Implementations

impl<T> From for T[src]

impl<T, U> Into for T where
    U: From<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<SS, SP> SupersetOf for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> Downcast for T where
    T: Any
[src]

impl<T> Same for T

type Output = T

Should always be Self