Struct rhusics_core::ResolveData [−][src]
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, // some fields omitted }
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
Methods
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,
[src]
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,
pub fn new(
velocity: Option<&'a NextFrame<Velocity<P::Diff, A>>>,
pose: &'a B,
mass: &'a Mass<P::Scalar, I>,
material: &'a Material
) -> Self
[src]
pub fn new(
velocity: Option<&'a NextFrame<Velocity<P::Diff, A>>>,
pose: &'a B,
mass: &'a Mass<P::Scalar, I>,
material: &'a Material
) -> Self
Create resolve data
Auto Trait Implementations
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> 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> 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,