Struct rhusics_ecs::NextFrameSetupSystem [] [src]

pub struct NextFrameSetupSystem<P, R, I, A> { /* fields omitted */ }

Setup the next frames positions and velocities.

Type parameters:

  • P: Positional quantity, usually Point2 or Point3
  • R: Rotational quantity, usually Basis2 or Quaternion
  • I: Inertia, usually Scalar or Matrix3
  • A: Angular velocity, usually Scalar or Vector3

System function

fn(DeltaTime, Mass, BodyPose, ForceAccumulator) -> (ForceAccumulator, NextFrame<Velocity>, NextFrame<BodyPose>)

Methods

impl<P, R, I, A> NextFrameSetupSystem<P, R, I, A> where
    P: EuclideanSpace,
    P::Scalar: BaseFloat,
    P::Diff: VectorSpace + InnerSpace + Debug,
    R: Rotation<P> + ApplyAngular<P::Scalar, A>,
    I: Inertia<Orientation = R> + Mul<A, Output = A>,
    A: Mul<P::Scalar, Output = A> + Zero + Clone + Copy
[src]

[src]

Create system.

Trait Implementations

impl<'a, P, R, I, A> System<'a> for NextFrameSetupSystem<P, R, I, A> where
    P: EuclideanSpace + Send + Sync + 'static,
    P::Scalar: BaseFloat + Send + Sync + 'static,
    P::Diff: VectorSpace + InnerSpace + Debug + Send + Sync + 'static,
    R: Rotation<P> + ApplyAngular<P::Scalar, A> + Send + Sync + 'static,
    I: Inertia<Orientation = R> + Mul<A, Output = A> + Send + Sync + 'static,
    A: Mul<P::Scalar, Output = A> + Zero + Clone + Copy + Send + Sync + 'static, 
[src]

The resource bundle required to execute this system. Read more

[src]

Executes the system with the required system data. Read more

Returns a hint how long the system needs for running. This is used to optimize the way they're executed (might allow more parallelization). Read more

Auto Trait Implementations

impl<P, R, I, A> Send for NextFrameSetupSystem<P, R, I, A> where
    A: Send,
    I: Send,
    P: Send,
    R: Send

impl<P, R, I, A> Sync for NextFrameSetupSystem<P, R, I, A> where
    A: Sync,
    I: Sync,
    P: Sync,
    R: Sync