[−][src]Struct ncollide3d::query::algorithms::epa3::EPA
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]
&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
Blanket Implementations
impl<T> From for T
[src]
impl<T, U> Into for T where
U: From<T>,
[src]
U: From<T>,
impl<T, U> TryFrom for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T> Borrow for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> BorrowMut for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, U> TryInto for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<SS, SP> SupersetOf for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
[src]
fn is_in_subset(&self) -> bool
[src]
unsafe fn to_subset_unchecked(&self) -> SS
[src]
fn from_subset(element: &SS) -> SP
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
[src]
fn as_any(&self) -> &(dyn Any + 'static)
[src]
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> Same for T
type Output = T
Should always be Self