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

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

The Expanding Polytope Algorithm in 3D.

Implementations

impl<N: RealField> 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> RefUnwindSafe for EPA<N> where
    N: RefUnwindSafe

impl<N> Send for EPA<N>

impl<N> Sync for EPA<N>

impl<N> Unpin for EPA<N> where
    N: Unpin

impl<N> UnwindSafe for EPA<N> where
    N: UnwindSafe

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> Downcast for T where
    T: Any
[src]

impl<T> DowncastSync for T where
    T: Any + Send + Sync
[src]

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

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

impl<T> Pointable for T[src]

type Init = T

The type for initializers.

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

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[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.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>, 
[src]