Struct parry3d::mass_properties::MassProperties [−][src]
The local mass properties of a rigid-body.
Fields
local_com: Point<Real>
The center of mass of a rigid-body expressed in its local-space.
inv_mass: Real
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: AngVector<Real>
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: Rotation<Real>
The principal vectors of the local angular inertia tensor of the rigid-body.
Implementations
impl MassProperties
[src]
pub fn new(
local_com: Point<Real>,
mass: Real,
principal_inertia: AngVector<Real>
) -> Self
[src]
local_com: Point<Real>,
mass: Real,
principal_inertia: AngVector<Real>
) -> Self
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<Real>,
mass: Real,
principal_inertia: AngVector<Real>,
principal_inertia_local_frame: Rotation<Real>
) -> Self
[src]
local_com: Point<Real>,
mass: Real,
principal_inertia: AngVector<Real>,
principal_inertia_local_frame: Rotation<Real>
) -> Self
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<Real>,
mass: Real,
inertia: Matrix3<Real>
) -> Self
[src]
local_com: Point<Real>,
mass: Real,
inertia: Matrix3<Real>
) -> Self
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<Real>) -> Point<Real>
[src]
The world-space center of mass of the rigid-body.
pub fn world_inv_inertia_sqrt(
&self,
rot: &Rotation<Real>
) -> AngularInertia<Real>
[src]
&self,
rot: &Rotation<Real>
) -> AngularInertia<Real>
The world-space inverse angular inertia tensor of the rigid-body.
pub fn reconstruct_inverse_inertia_matrix(&self) -> Matrix3<Real>
[src]
Reconstructs the inverse angular inertia tensor of the rigid body from its principal inertia values and axes.
pub fn reconstruct_inertia_matrix(&self) -> Matrix3<Real>
[src]
Reconstructs the angular inertia tensor of the rigid body from its principal inertia values and axes.
pub fn transform_by(&self, m: &Isometry<Real>) -> Self
[src]
Transform each element of the mass properties.
pub fn set_mass(&mut self, new_mass: Real, adjust_angular_inertia: bool)
[src]
Changes the mass on these mass-properties.
The adjust_angular_inertia
argument should always be true
, unless
there are some specific reasons not to do so. Setting this to true
will automatically adjust the angular inertia of self
to account
for the mass change (i.e. it will multiply the angular inertia by
new_mass / prev_mass
). Setting it to false
will not change the
current angular inertia.
impl MassProperties
[src]
impl MassProperties
[src]
pub fn from_capsule(
density: Real,
a: Point<Real>,
b: Point<Real>,
radius: Real
) -> Self
[src]
density: Real,
a: Point<Real>,
b: Point<Real>,
radius: Real
) -> Self
Computes the mass properties of a capsule.
impl MassProperties
[src]
pub fn from_compound(
density: Real,
shapes: &[(Isometry<Real>, SharedShape)]
) -> Self
[src]
density: Real,
shapes: &[(Isometry<Real>, SharedShape)]
) -> Self
Computes the mass properties of a compound shape.
impl MassProperties
[src]
pub fn from_cone(density: Real, half_height: Real, radius: Real) -> Self
[src]
Computes the mass properties of a cone.
impl MassProperties
[src]
pub fn from_convex_polyhedron(
density: Real,
vertices: &[Point<Real>],
indices: &[[u32; 3]]
) -> MassProperties
[src]
density: Real,
vertices: &[Point<Real>],
indices: &[[u32; 3]]
) -> MassProperties
Computes the mass properties of a convex polyhedron.
impl MassProperties
[src]
pub fn from_cuboid(density: Real, half_extents: Vector<Real>) -> Self
[src]
Computes the mass properties of a cuboid.
impl MassProperties
[src]
pub fn from_cylinder(density: Real, half_height: Real, radius: Real) -> Self
[src]
Computes the mass properties of a cylinder.
Trait Implementations
impl AbsDiffEq<MassProperties> for MassProperties
[src]
type Epsilon = Real
Used for specifying relative comparisons.
fn default_epsilon() -> Self::Epsilon
[src]
fn abs_diff_eq(&self, other: &Self, epsilon: Self::Epsilon) -> bool
[src]
pub fn abs_diff_ne(&self, other: &Rhs, epsilon: Self::Epsilon) -> bool
[src]
impl Add<MassProperties> for MassProperties
[src]
type Output = Self
The resulting type after applying the +
operator.
fn add(self, other: MassProperties) -> Self
[src]
impl AddAssign<MassProperties> for MassProperties
[src]
fn add_assign(&mut self, rhs: MassProperties)
[src]
impl Clone for MassProperties
[src]
fn clone(&self) -> MassProperties
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl Copy for MassProperties
[src]
impl Debug for MassProperties
[src]
impl PartialEq<MassProperties> for MassProperties
[src]
fn eq(&self, other: &MassProperties) -> bool
[src]
fn ne(&self, other: &MassProperties) -> bool
[src]
impl RelativeEq<MassProperties> for MassProperties
[src]
fn default_max_relative() -> Self::Epsilon
[src]
fn relative_eq(
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Self,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
pub fn relative_ne(
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
[src]
&self,
other: &Rhs,
epsilon: Self::Epsilon,
max_relative: Self::Epsilon
) -> bool
impl StructuralPartialEq for MassProperties
[src]
impl Sub<MassProperties> for MassProperties
[src]
type Output = Self
The resulting type after applying the -
operator.
fn sub(self, other: MassProperties) -> Self
[src]
impl SubAssign<MassProperties> for MassProperties
[src]
fn sub_assign(&mut self, rhs: MassProperties)
[src]
impl Sum<MassProperties> for MassProperties
[src]
impl Zero for MassProperties
[src]
Auto Trait Implementations
impl RefUnwindSafe for MassProperties
impl Send for MassProperties
impl Sync for MassProperties
impl Unpin for MassProperties
impl UnwindSafe for MassProperties
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T, Right> ClosedAdd<Right> for T where
T: Add<Right, Output = T> + AddAssign<Right>,
[src]
T: Add<Right, Output = T> + AddAssign<Right>,
impl<T, Right> ClosedSub<Right> for T where
T: Sub<Right, Output = T> + SubAssign<Right>,
[src]
T: Sub<Right, Output = T> + SubAssign<Right>,
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Any + Send + Sync,
[src]
T: Any + Send + Sync,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Scalar for T where
T: Copy + PartialEq<T> + Debug + Any,
[src]
T: Copy + PartialEq<T> + Debug + Any,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,