Struct rhusics_core::ForceAccumulator[][src]

pub struct ForceAccumulator<F, T> { /* fields omitted */ }

Force accumulator for a rigid body.

Will be consumed when doing force integration for the next frame.

Type parameters:

  • F: Force type, usually Vector2 or Vector3
  • T: Torque force, usually Scalar or Vector3

Methods

impl<F, T> ForceAccumulator<F, T> where
    F: VectorSpace + Zero,
    T: Zero + Copy + Clone
[src]

Create a new force accumulator

Add a force vector to the accumulator

Add a torque vector to the accumulator

Add a force on a given point on the body

If the force vector does not pass directly through the origin of the body, as expressed by the pose, torque will occur. Note that no validation is made on the given position to make sure it's actually contained in the shape of the body.

Parameters:

  • force: Force to apply
  • position: Position on the body to apply the force at.
  • pose: Current pose of the body, used to compute the world coordinates of the body center of mass

Consume the accumulated force

Returns he current accumulated force. The force in the accumulator is reset.

Consume the torque

Returns the current accumulated torque. The torque in the accumulator is reset.

Trait Implementations

impl<F: Debug, T: Debug> Debug for ForceAccumulator<F, T>
[src]

Formats the value using the given formatter. Read more

impl<F, T> Default for ForceAccumulator<F, T> where
    F: VectorSpace + Zero,
    T: Zero + Copy + Clone
[src]

Returns the "default value" for a type. Read more

Auto Trait Implementations

impl<F, T> Send for ForceAccumulator<F, T> where
    F: Send,
    T: Send

impl<F, T> Sync for ForceAccumulator<F, T> where
    F: Sync,
    T: Sync