Struct parry2d_f64::query::epa::epa2::EPA [−][src]
pub struct EPA { /* fields omitted */ }
The Expanding Polytope Algorithm in 2D.
Implementations
impl EPA
[src]
impl EPA
[src]pub fn new() -> Self
[src]
Creates a new instance of the 2D Expanding Polytope Algorithm.
pub fn project_origin<G: ?Sized>(
&mut self,
m: &Isometry<Real>,
g: &G,
simplex: &VoronoiSimplex
) -> Option<Point<Real>> where
G: SupportMap,
[src]
&mut self,
m: &Isometry<Real>,
g: &G,
simplex: &VoronoiSimplex
) -> Option<Point<Real>> where
G: SupportMap,
Projects the origin on boundary 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.
Return the projected point in the local-space of g
.
pub fn closest_points<G1: ?Sized, G2: ?Sized>(
&mut self,
pos12: &Isometry<Real>,
g1: &G1,
g2: &G2,
simplex: &VoronoiSimplex
) -> Option<(Point<Real>, Point<Real>, Unit<Vector<Real>>)> where
G1: SupportMap,
G2: SupportMap,
[src]
&mut self,
pos12: &Isometry<Real>,
g1: &G1,
g2: &G2,
simplex: &VoronoiSimplex
) -> Option<(Point<Real>, Point<Real>, Unit<Vector<Real>>)> where
G1: SupportMap,
G2: SupportMap,
Projects the origin on a shape using 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 RefUnwindSafe for EPA
impl RefUnwindSafe for EPA
impl UnwindSafe for EPA
impl UnwindSafe for EPA
Blanket Implementations
impl<T> CheckedAs for T
[src]
impl<T> CheckedAs for T
[src]pub fn checked_as<Dst>(self) -> Option<Dst> where
T: CheckedCast<Dst>,
[src]
T: CheckedCast<Dst>,
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]
impl<Src, Dst> LosslessTryInto<Dst> for Src where
Dst: LosslessTryFrom<Src>,
[src]pub fn lossless_try_into(self) -> Option<Dst>
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]
impl<Src, Dst> LossyInto<Dst> for Src where
Dst: LossyFrom<Src>,
[src]pub fn lossy_into(self) -> Dst
[src]
impl<T> OverflowingAs for T
[src]
impl<T> OverflowingAs for T
[src]pub fn overflowing_as<Dst>(self) -> (Dst, bool) where
T: OverflowingCast<Dst>,
[src]
T: OverflowingCast<Dst>,
impl<T> Same<T> for T
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> SaturatingAs for T
[src]
impl<T> SaturatingAs for T
[src]pub fn saturating_as<Dst>(self) -> Dst where
T: SaturatingCast<Dst>,
[src]
T: SaturatingCast<Dst>,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> UnwrappedAs for T
[src]
impl<T> UnwrappedAs for T
[src]pub fn unwrapped_as<Dst>(self) -> Dst where
T: UnwrappedCast<Dst>,
[src]
T: UnwrappedCast<Dst>,
impl<T> WrappingAs for T
[src]
impl<T> WrappingAs for T
[src]pub fn wrapping_as<Dst>(self) -> Dst where
T: WrappingCast<Dst>,
[src]
T: WrappingCast<Dst>,