Enum heron_core::BodyType[][src]

pub enum BodyType {
    Dynamic,
    Static,
    Sensor,
}

Component that defines the type of rigid body.

Example

fn spawn(commands: &mut Commands, mut materials: ResMut<Assets<ColorMaterial>>) {
    commands.spawn(todo!("Spawn your sprite/mesh, incl. at least a GlobalTransform"))
        .with(Body::Sphere { radius: 1.0 }) // Make a body (is dynamic by default)
        .with(BodyType::Static); // Make it static (so that it doesn't move and is not affected by forces like gravity)
}

Variants

Dynamic

A dynamic body is normally affected by physic forces and affect the other bodies too.

This is the most "natural" type in the sense that, in the real life, everything is dynamic.

Static

A static body is not affected by physic forces and doesn't move. But it does affect the other bodies.

This effectively behaves like a dynamic body with infinite mass and zero velocity.

It is especially useful to model terrain and static obstacles.

Sensor

A sensor is not affected by physics forces and doesn't affect other bodies either. Other bodies will be able to penetrate the sensor.

A sensor is useful when we are only interested in collision events. One may for example add a sensor to detect when the player reach a certain area.

Trait Implementations

impl Clone for BodyType[src]

impl Copy for BodyType[src]

impl Debug for BodyType[src]

impl Default for BodyType[src]

impl Eq for BodyType[src]

impl PartialEq<BodyType> for BodyType[src]

impl StructuralEq for BodyType[src]

impl StructuralPartialEq for BodyType[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> Component for T where
    T: 'static + Send + Sync
[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> FromResources for T where
    T: Default
[src]

impl<T> Instrument for T[src]

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

impl<T> Resource for T where
    T: 'static + Send + Sync
[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<T> TypeData for T where
    T: 'static + Send + Sync + Clone

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