# Trait nphysics3d::volumetric::Volumetric [−][src]

pub trait Volumetric<N: Real> { fn area(&self) -> N; fn volume(&self) -> N; fn center_of_mass(&self) -> Point<N>; fn unit_angular_inertia(&self) -> AngularInertia<N>; fn mass(&self, density: N) -> N { ... } fn angular_inertia(&self, mass: N) -> AngularInertia<N> { ... } fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>) { ... } fn inertia(&self, density: N) -> Inertia<N> { ... } }

Trait implemented by objects which have a mass, a center of mass, and an inertia tensor.

## Required Methods

`fn area(&self) -> N`

Computes the area of this object.

`fn volume(&self) -> N`

Computes the volume of this object.

`fn center_of_mass(&self) -> Point<N>`

Computes the center of mass of this object.

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

Computes the angular inertia tensor of this object.

## Provided Methods

`fn mass(&self, density: N) -> N`

Given its density, this computes the mass of this object.

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

Given its mass, this computes the angular inertia of this object.

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

Given its density, this computes the mass, center of mass, and inertia tensor of this object.

`fn inertia(&self, density: N) -> Inertia<N>`

## Implementations on Foreign Types

`impl<N: Real> Volumetric<N> for Ball<N>`

[src]

`impl<N: Real> Volumetric<N> for Ball<N>`

`fn area(&self) -> N`

[src]

`fn area(&self) -> N`

`fn volume(&self) -> N`

[src]

`fn volume(&self) -> N`

`fn center_of_mass(&self) -> Point<N>`

[src]

`fn center_of_mass(&self) -> Point<N>`

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

[src]

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

`fn mass(&self, density: N) -> N`

[src]

`fn mass(&self, density: N) -> N`

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

[src]

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

[src]

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

`fn inertia(&self, density: N) -> Inertia<N>`

[src]

`fn inertia(&self, density: N) -> Inertia<N>`

`impl<N: Real> Volumetric<N> for Cuboid<N>`

[src]

`impl<N: Real> Volumetric<N> for Cuboid<N>`

`fn area(&self) -> N`

[src]

`fn area(&self) -> N`

`fn volume(&self) -> N`

[src]

`fn volume(&self) -> N`

`fn center_of_mass(&self) -> Point<N>`

[src]

`fn center_of_mass(&self) -> Point<N>`

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

[src]

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

`fn mass(&self, density: N) -> N`

[src]

`fn mass(&self, density: N) -> N`

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

[src]

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

[src]

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

`fn inertia(&self, density: N) -> Inertia<N>`

[src]

`fn inertia(&self, density: N) -> Inertia<N>`

`impl<N: Real> Volumetric<N> for ConvexHull<N>`

[src]

`impl<N: Real> Volumetric<N> for ConvexHull<N>`

`fn area(&self) -> N`

[src]

`fn area(&self) -> N`

`fn volume(&self) -> N`

[src]

`fn volume(&self) -> N`

`fn center_of_mass(&self) -> Point3<N>`

[src]

`fn center_of_mass(&self) -> Point3<N>`

`fn unit_angular_inertia(&self) -> Matrix3<N>`

[src]

`fn unit_angular_inertia(&self) -> Matrix3<N>`

`fn mass_properties(&self, density: N) -> (N, Point3<N>, Matrix3<N>)`

[src]

`fn mass_properties(&self, density: N) -> (N, Point3<N>, Matrix3<N>)`

`fn mass(&self, density: N) -> N`

[src]

`fn mass(&self, density: N) -> N`

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

[src]

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

`fn inertia(&self, density: N) -> Inertia<N>`

[src]

`fn inertia(&self, density: N) -> Inertia<N>`

`impl<N: Real> Volumetric<N> for Compound<N>`

[src]

`impl<N: Real> Volumetric<N> for Compound<N>`

`fn area(&self) -> N`

[src]

`fn area(&self) -> N`

`fn volume(&self) -> N`

[src]

`fn volume(&self) -> N`

`fn center_of_mass(&self) -> Point<N>`

[src]

`fn center_of_mass(&self) -> Point<N>`

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

[src]

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

[src]

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

The mass properties of this `CompoundData`

.

If `density`

is not zero, it will be multiplied with the density of every object of the
compound shape.

`fn mass(&self, density: N) -> N`

[src]

`fn mass(&self, density: N) -> N`

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

[src]

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

`fn inertia(&self, density: N) -> Inertia<N>`

[src]

`fn inertia(&self, density: N) -> Inertia<N>`

`impl<N: Real> Volumetric<N> for Shape<N>`

[src]

`impl<N: Real> Volumetric<N> for Shape<N>`

`fn area(&self) -> N`

[src]

`fn area(&self) -> N`

`fn volume(&self) -> N`

[src]

`fn volume(&self) -> N`

`fn center_of_mass(&self) -> Point<N>`

[src]

`fn center_of_mass(&self) -> Point<N>`

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

[src]

`fn unit_angular_inertia(&self) -> AngularInertia<N>`

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

[src]

`fn mass_properties(&self, density: N) -> (N, Point<N>, AngularInertia<N>)`

`fn mass(&self, density: N) -> N`

[src]

`fn mass(&self, density: N) -> N`

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

[src]

`fn angular_inertia(&self, mass: N) -> AngularInertia<N>`

`fn inertia(&self, density: N) -> Inertia<N>`

[src]

`fn inertia(&self, density: N) -> Inertia<N>`