[][src]Struct rapier3d::dynamics::RigidBody

pub struct RigidBody {
    pub position: Isometry<f32>,
    pub mass_properties: MassProperties,
    pub world_com: Point<f32>,
    pub world_inv_inertia_sqrt: AngularInertia<f32>,
    pub linvel: Vector<f32>,
    pub angvel: AngVector<f32>,
    pub activation: ActivationStatus,
    pub body_status: BodyStatus,
    // some fields omitted
}

A rigid body.

To create a new rigid-body, use the RigidBodyBuilder structure.

Fields

position: Isometry<f32>

The world-space position of the rigid-body.

mass_properties: MassProperties

The local mass properties of the rigid-body.

world_com: Point<f32>

The world-space center of mass of the rigid-body.

world_inv_inertia_sqrt: AngularInertia<f32>

The square-root of the inverse angular inertia tensor of the rigid-body.

linvel: Vector<f32>

The linear velocity of the rigid-body.

angvel: AngVector<f32>

The angular velocity of the rigid-body.

activation: ActivationStatus

Whether or not this rigid-body is sleeping.

body_status: BodyStatus

The status of the body, governing how it is affected by external forces.

Implementations

impl RigidBody[src]

pub fn colliders(&self) -> &[ColliderHandle][src]

The handles of colliders attached to this rigid body.

pub fn is_dynamic(&self) -> bool[src]

Is this rigid body dynamic?

A dynamic body can move freely and is affected by forces.

pub fn is_kinematic(&self) -> bool[src]

Is this rigid body kinematic?

A kinematic body can move freely but is not affected by forces.

pub fn is_static(&self) -> bool[src]

Is this rigid body static?

A static body cannot move and is not affected by forces.

pub fn mass(&self) -> f32[src]

The mass of this rigid body.

Returns zero if this rigid body has an infinite mass.

pub fn sleep(&mut self)[src]

Put this rigid body to sleep.

A sleeping body no longer moves and is no longer simulated by the physics engine unless it is waken up. It can be woken manually with self.wake_up or automatically due to external forces like contacts.

pub fn wake_up(&mut self)[src]

Wakes up this rigid body if it is sleeping.

pub fn is_sleeping(&self) -> bool[src]

Is this rigid body sleeping?

pub fn set_position(&mut self, pos: Isometry<f32>)[src]

Sets the position of this rigid body.

pub fn set_next_kinematic_position(&mut self, pos: Isometry<f32>)[src]

If this rigid body is kinematic, sets its future position after the next timestep integration.

pub fn apply_force(&mut self, force: Vector<f32>)[src]

Applies a force at the center-of-mass of this rigid-body.

pub fn apply_impulse(&mut self, impulse: Vector<f32>)[src]

Applies an impulse at the center-of-mass of this rigid-body.

pub fn apply_torque(&mut self, torque: Vector<f32>)[src]

Applies a torque at the center-of-mass of this rigid-body.

pub fn apply_torque_impulse(&mut self, torque_impulse: Vector<f32>)[src]

Applies an impulsive torque at the center-of-mass of this rigid-body.

pub fn apply_force_at_point(&mut self, force: Vector<f32>, point: Point<f32>)[src]

Applies a force at the given world-space point of this rigid-body.

pub fn apply_impulse_at_point(
    &mut self,
    impulse: Vector<f32>,
    point: Point<f32>
)
[src]

Applies an impulse at the given world-space point of this rigid-body.

Trait Implementations

impl Clone for RigidBody[src]

impl Debug for RigidBody[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> Downcast for T where
    T: Any

impl<T> DowncastSync for T where
    T: Send + Sync + Any

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<SS, SP> SupersetOf<SS> for SP where
    SS: SubsetOf<SP>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.

impl<V, T> VZip<V> for T where
    V: MultiLane<T>,