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

```pub trait Volumetric<N: RealField> {
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 transformed_mass_properties(        &self,         density: N,         pos: &Isometry<N>    ) -> (Point<N>, Inertia<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 transformed_mass_properties(    &self,     density: N,     pos: &Isometry<N>) -> (Point<N>, Inertia<N>)`

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

## Implementations on Foreign Types

### `impl<N: RealField> Volumetric<N> for Compound<N>`[src]

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

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.