avian2d::dynamics::prelude

Trait ComputeMassProperties2d

Source
pub trait ComputeMassProperties2d {
    // Required methods
    fn mass(&self, density: f32) -> f32;
    fn unit_angular_inertia(&self) -> f32;
    fn center_of_mass(&self) -> Vec2;

    // Provided methods
    fn angular_inertia(&self, mass: f32) -> f32 { ... }
    fn mass_properties(&self, density: f32) -> MassProperties2d { ... }
}
Expand description

A trait for computing MassProperties2d for 2D objects.

For the 3D equivalent, see ComputeMassProperties3d.

Required Methods§

Source

fn mass(&self, density: f32) -> f32

Computes the mass of the object with a given density.

Source

fn unit_angular_inertia(&self) -> f32

Computes the angular inertia corresponding to a mass of 1.0.

Source

fn center_of_mass(&self) -> Vec2

Computes the local center of mass relative to the object’s origin.

Provided Methods§

Source

fn angular_inertia(&self, mass: f32) -> f32

Computes the angular inertia corresponding to the given mass.

Equivalent to mass * shape.unit_angular_inertia().

Source

fn mass_properties(&self, density: f32) -> MassProperties2d

Computes the MassProperties2d with a given density.

Implementations on Foreign Types§

Source§

impl ComputeMassProperties2d for Annulus

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for Arc2d

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for BoxedPolygon

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for BoxedPolyline2d

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for Capsule2d

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for Circle

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for CircularSector

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for CircularSegment

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for Ellipse

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for Line2d

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for Plane2d

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for Rectangle

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for RegularPolygon

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for Rhombus

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

impl ComputeMassProperties2d for Segment2d

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Source§

impl ComputeMassProperties2d for Triangle2d

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, density: f32) -> MassProperties2d

Source§

impl<const N: usize> ComputeMassProperties2d for Polygon<N>

Source§

fn mass(&self, density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, density: f32) -> MassProperties2d

Source§

impl<const N: usize> ComputeMassProperties2d for Polyline2d<N>

Source§

fn mass(&self, _density: f32) -> f32

Source§

fn unit_angular_inertia(&self) -> f32

Source§

fn angular_inertia(&self, _mass: f32) -> f32

Source§

fn center_of_mass(&self) -> Vec2

Source§

fn mass_properties(&self, _density: f32) -> MassProperties2d

Implementors§