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, usuallyPoint2
orPoint3
R
: Rotational quantity, usuallyBasis2
orQuaternion
I
: Inertia, usuallyScalar
orMatrix3
A
: Angular velocity, usuallyScalar
orVector3
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]
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,
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]
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,
type SystemData = (Fetch<'a, DeltaTime<P::Scalar>>, ReadStorage<'a, Mass<P::Scalar, I>>, WriteStorage<'a, NextFrame<Velocity<P::Diff, A>>>, ReadStorage<'a, BodyPose<P, R>>, WriteStorage<'a, NextFrame<BodyPose<P, R>>>, WriteStorage<'a, ForceAccumulator<P::Diff, A>>)
The resource bundle required to execute this system. Read more
fn run(&mut self, data: Self::SystemData)
[src]
Executes the system with the required system data. Read more
fn running_time(&self) -> RunningTime
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