pub struct ResolveData<'a, B, P, R, I, A>where
P: EuclideanSpace + 'a,
P::Scalar: BaseFloat,
R: Rotation<P> + 'a,
I: 'a,
A: Clone + 'a,
B: Pose<P, R> + 'a,{
pub velocity: Option<&'a NextFrame<Velocity<P::Diff, A>>>,
pub pose: &'a B,
pub mass: &'a Mass<P::Scalar, I>,
pub material: &'a Material,
/* private fields */
}Expand description
Data used for contact resolution
§Type parameters:
B: Transform type (BodyPose3or similar)P: Point type, usuallyPoint2orPoint3R: Rotational quantity, usuallyBasis2orQuaternionA: Angular velocity, usuallyScalarorVector3I: Inertia, usuallyScalarorMatrix3
Fields§
§velocity: Option<&'a NextFrame<Velocity<P::Diff, A>>>Velocity for next frame
pose: &'a BPosition for next frame
mass: &'a Mass<P::Scalar, I>Mass
material: &'a MaterialMaterial
Implementations§
Source§impl<'a, B, P, R, I, A> ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> ResolveData<'a, B, P, R, I, A>
Auto Trait Implementations§
impl<'a, B, P, R, I, A> Freeze for ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> RefUnwindSafe for ResolveData<'a, B, P, R, I, A>where
<P as EuclideanSpace>::Scalar: Sized + RefUnwindSafe,
B: RefUnwindSafe,
I: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
<P as EuclideanSpace>::Diff: RefUnwindSafe,
A: RefUnwindSafe,
impl<'a, B, P, R, I, A> Send for ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> Sync for ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> Unpin for ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> UnsafeUnpin for ResolveData<'a, B, P, R, I, A>
impl<'a, B, P, R, I, A> UnwindSafe for ResolveData<'a, B, P, R, I, A>where
<P as EuclideanSpace>::Scalar: Sized + RefUnwindSafe,
B: RefUnwindSafe,
I: RefUnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
<P as EuclideanSpace>::Diff: RefUnwindSafe,
A: RefUnwindSafe,
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more