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, usually Point2 or Point3
  • R: Rotational quantity, usually Basis2 or Quaternion
  • A: Angular velocity, usually Scalar or Vector3
  • I: Inertia, usually Scalar or Matrix3

Fields

Velocity for next frame

Position for next frame

Mass

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]

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> 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