[][src]Struct rapier3d::dynamics::MassProperties

pub struct MassProperties {
    pub local_com: Point<f32, U3>,
    pub inv_mass: f32,
    pub inv_principal_inertia_sqrt: Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>,
    pub principal_inertia_local_frame: Unit<Quaternion<f32>>,
}

The local mass properties of a rigid-body.

Fields

local_com: Point<f32, U3>

The center of mass of a rigid-body expressed in its local-space.

inv_mass: f32

The inverse of the mass of a rigid-body.

If this is zero, the rigid-body is assumed to have infinite mass.

inv_principal_inertia_sqrt: Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>

The inverse of the principal angular inertia of the rigid-body.

Components set to zero are assumed to be infinite along the corresponding principal axis.

principal_inertia_local_frame: Unit<Quaternion<f32>>

The principal vectors of the local angular inertia tensor of the rigid-body.

Implementations

impl MassProperties[src]

pub fn new(
    local_com: Point<f32, U3>,
    mass: f32,
    principal_inertia: Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> MassProperties
[src]

Initializes the mass properties from the given center-of-mass, mass, and principal angular inertia.

The center-of-mass is specified in the local-space of the rigid-body. The principal angular inertia are the angular inertia along the coordinate axes in the local-space of the rigid-body.

pub fn with_principal_inertia_frame(
    local_com: Point<f32, U3>,
    mass: f32,
    principal_inertia: Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>,
    principal_inertia_local_frame: Unit<Quaternion<f32>>
) -> MassProperties
[src]

Initializes the mass properties from the given center-of-mass, mass, and principal angular inertia.

The center-of-mass is specified in the local-space of the rigid-body. The principal angular inertia are the angular inertia along the coordinate axes defined by the principal_inertia_local_frame expressed in the local-space of the rigid-body.

pub fn with_inertia_matrix(
    local_com: Point<f32, U3>,
    mass: f32,
    inertia: Matrix<f32, U3, U3, <DefaultAllocator as Allocator<f32, U3, U3>>::Buffer>
) -> MassProperties
[src]

Initialize a new MassProperties from a given center-of-mass, mass, and angular inertia matrix.

The angular inertia matrix will be diagonalized in order to extract the principal inertia values and principal inertia frame.

pub fn world_com(
    &self,
    pos: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> Point<f32, U3>
[src]

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

pub fn world_inv_inertia_sqrt(
    &self,
    rot: &Unit<Quaternion<f32>>
) -> SdpMatrix3<f32>
[src]

The world-space inverse angular inertia tensor of the rigid-body.

pub fn reconstruct_inverse_inertia_matrix(
    &self
) -> Matrix<f32, U3, U3, <DefaultAllocator as Allocator<f32, U3, U3>>::Buffer>
[src]

Reconstructs the inverse angular inertia tensor of the rigid body from its principal inertia values and axes.

pub fn reconstruct_inertia_matrix(
    &self
) -> Matrix<f32, U3, U3, <DefaultAllocator as Allocator<f32, U3, U3>>::Buffer>
[src]

Reconstructs the angular inertia tensor of the rigid body from its principal inertia values and axes.

pub fn transform_by(
    &self,
    m: &Isometry<f32, U3, Unit<Quaternion<f32>>>
) -> MassProperties
[src]

Transform each element of the mass properties.

impl MassProperties[src]

pub fn from_ball(density: f32, radius: f32) -> MassProperties[src]

Computes the mass properties of a ball.

impl MassProperties[src]

pub fn from_capsule(
    density: f32,
    a: Point<f32, U3>,
    b: Point<f32, U3>,
    radius: f32
) -> MassProperties
[src]

Computes the mass properties of a capsule.

impl MassProperties[src]

pub fn from_compound(
    density: f32,
    shapes: &[(Isometry<f32, U3, Unit<Quaternion<f32>>>, SharedShape)]
) -> MassProperties
[src]

Computes the mass properties of a compound shape.

impl MassProperties[src]

pub fn from_cone(density: f32, half_height: f32, radius: f32) -> MassProperties[src]

Computes the mass properties of a cone.

impl MassProperties[src]

pub fn from_convex_polyhedron(
    density: f32,
    vertices: &[Point<f32, U3>],
    indices: &[[u32; 3]]
) -> MassProperties
[src]

Computes the mass properties of a convex polyhedron.

impl MassProperties[src]

pub fn from_cuboid(
    density: f32,
    half_extents: Matrix<f32, U3, U1, <DefaultAllocator as Allocator<f32, U3, U1>>::Buffer>
) -> MassProperties
[src]

Computes the mass properties of a cuboid.

impl MassProperties[src]

pub fn from_cylinder(
    density: f32,
    half_height: f32,
    radius: f32
) -> MassProperties
[src]

Computes the mass properties of a cylinder.

Trait Implementations

impl AbsDiffEq<MassProperties> for MassProperties[src]

type Epsilon = f32

Used for specifying relative comparisons.

impl Add<MassProperties> for MassProperties[src]

type Output = MassProperties

The resulting type after applying the + operator.

impl AddAssign<MassProperties> for MassProperties[src]

impl Clone for MassProperties[src]

impl Copy for MassProperties[src]

impl Debug for MassProperties[src]

impl PartialEq<MassProperties> for MassProperties[src]

impl RelativeEq<MassProperties> for MassProperties[src]

impl StructuralPartialEq for MassProperties[src]

impl Sub<MassProperties> for MassProperties[src]

type Output = MassProperties

The resulting type after applying the - operator.

impl SubAssign<MassProperties> for MassProperties[src]

impl Sum<MassProperties> for MassProperties[src]

impl Zero for MassProperties[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, Right> ClosedAdd<Right> for T where
    T: Add<Right, Output = T> + AddAssign<Right>, 
[src]

impl<T, Right> ClosedSub<Right> for T where
    T: Sub<Right, Output = T> + SubAssign<Right>, 
[src]

impl<T> Downcast for T where
    T: Any
[src]

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

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

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

impl<T> Pointable for T

type Init = T

The type for initializers.

impl<T> Same<T> for T

type Output = T

Should always be Self

impl<T> Scalar for T where
    T: PartialEq<T> + Copy + Any + Debug
[src]

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>,