Struct heron::rapier_plugin::rapier::ncollide::query::algorithms::epa3::EPA [−][src]
The Expanding Polytope Algorithm in 3D.
Implementations
impl<N> EPA<N> where
N: RealField,
[src]
N: RealField,
pub fn new() -> EPA<N>
[src]
Creates a new instance of the 3D Expanding Polytope Algorithm.
pub fn project_origin<G>(
&mut self,
m: &Isometry<N, U3, Unit<Quaternion<N>>>,
g: &G,
simplex: &VoronoiSimplex<N>
) -> Option<Point<N, U3>> where
G: SupportMap<N> + ?Sized,
[src]
&mut self,
m: &Isometry<N, U3, Unit<Quaternion<N>>>,
g: &G,
simplex: &VoronoiSimplex<N>
) -> Option<Point<N, U3>> where
G: SupportMap<N> + ?Sized,
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, G2>(
&mut self,
m1: &Isometry<N, U3, Unit<Quaternion<N>>>,
g1: &G1,
m2: &Isometry<N, U3, Unit<Quaternion<N>>>,
g2: &G2,
simplex: &VoronoiSimplex<N>
) -> Option<(Point<N, U3>, Point<N, U3>, Unit<Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>>)> where
G1: SupportMap<N> + ?Sized,
G2: SupportMap<N> + ?Sized,
[src]
&mut self,
m1: &Isometry<N, U3, Unit<Quaternion<N>>>,
g1: &G1,
m2: &Isometry<N, U3, Unit<Quaternion<N>>>,
g2: &G2,
simplex: &VoronoiSimplex<N>
) -> Option<(Point<N, U3>, Point<N, U3>, Unit<Matrix<N, U3, U1, <DefaultAllocator as Allocator<N, U3, U1>>::Buffer>>)> where
G1: SupportMap<N> + ?Sized,
G2: SupportMap<N> + ?Sized,
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,
[src]
N: RefUnwindSafe,
impl<N> Send for EPA<N>
[src]
impl<N> Sync for EPA<N>
[src]
impl<N> Unpin for EPA<N> where
N: Unpin,
[src]
N: Unpin,
impl<N> UnwindSafe for EPA<N> where
N: UnwindSafe,
[src]
N: UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Any for T where
T: Any,
T: Any,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Component for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Downcast for T where
T: Any,
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
pub fn as_any(&self) -> &(dyn Any + 'static)
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T> Instrument for T
[src]
pub fn instrument(self, span: Span) -> Instrumented<Self>
[src]
pub fn in_current_span(self) -> Instrumented<Self>
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Pointable for T
pub const ALIGN: usize
type Init = T
The type for initializers.
pub unsafe fn init(init: <T as Pointable>::Init) -> usize
pub unsafe fn deref<'a>(ptr: usize) -> &'a T
pub unsafe fn deref_mut<'a>(ptr: usize) -> &'a mut T
pub unsafe fn drop(ptr: usize)
impl<T> Resource for T where
T: 'static + Send + Sync,
T: 'static + Send + Sync,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
pub fn is_in_subset(&self) -> bool
pub fn to_subset_unchecked(&self) -> SS
pub fn from_subset(element: &SS) -> SP
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> 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.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,