Struct rhusics_core::ResolveData
source · 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 (BodyPose3
or similar)P
: Point type, usuallyPoint2
orPoint3
R
: Rotational quantity, usuallyBasis2
orQuaternion
A
: Angular velocity, usuallyScalar
orVector3
I
: Inertia, usuallyScalar
orMatrix3
Fields
velocity: Option<&'a NextFrame<Velocity<P::Diff, A>>>
Velocity for next frame
pose: &'a B
Position for next frame
mass: &'a Mass<P::Scalar, I>
Mass
material: &'a Material
Material
Implementations
sourceimpl<'a, B, P, R, I, A> 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,
impl<'a, B, P, R, I, A> 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,
Auto Trait Implementations
impl<'a, B, P, R, I, A> RefUnwindSafe for ResolveData<'a, B, P, R, I, A>where
A: RefUnwindSafe,
B: RefUnwindSafe,
I: RefUnwindSafe,
P: RefUnwindSafe,
R: RefUnwindSafe,
<P as EuclideanSpace>::Diff: RefUnwindSafe,
<P as EuclideanSpace>::Scalar: RefUnwindSafe,
impl<'a, B, P, R, I, A> Send for ResolveData<'a, B, P, R, I, A>where
A: Sync,
B: Sync,
I: Sync,
P: Send,
R: Send,
<P as EuclideanSpace>::Diff: Sync,
<P as EuclideanSpace>::Scalar: Sync,
impl<'a, B, P, R, I, A> Sync for ResolveData<'a, B, P, R, I, A>where
A: Sync,
B: Sync,
I: Sync,
P: Sync,
R: Sync,
<P as EuclideanSpace>::Diff: Sync,
<P as EuclideanSpace>::Scalar: Sync,
impl<'a, B, P, R, I, A> Unpin for ResolveData<'a, B, P, R, I, A>where
P: Unpin,
R: Unpin,
impl<'a, B, P, R, I, A> UnwindSafe for ResolveData<'a, B, P, R, I, A>where
A: RefUnwindSafe,
B: RefUnwindSafe,
I: RefUnwindSafe,
P: UnwindSafe,
R: UnwindSafe,
<P as EuclideanSpace>::Diff: RefUnwindSafe,
<P as EuclideanSpace>::Scalar: RefUnwindSafe,
Blanket Implementations
sourceimpl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more