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]
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]
&mut self,
m: &Isometry<N>,
g: &G,
simplex: &VoronoiSimplex<N>
) -> Option<Point<N>> where
G: SupportMap<N>,
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]
&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>,
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,
N: RefUnwindSafe,
impl<N> Send for EPA<N>
impl<N> Sync for EPA<N>
impl<N> Unpin for EPA<N> where
N: Unpin,
N: Unpin,
impl<N> UnwindSafe for EPA<N> where
N: UnwindSafe,
N: UnwindSafe,
Blanket Implementations
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]