# [−][src]Struct nphysics2d::algebra::Velocity3

```#[repr(C)]
pub struct Velocity3<N: RealField> {
pub linear: Vector3<N>,
pub angular: Vector3<N>,
}```

A velocity structure combining both the linear angular velocities of a point.

## Fields

`linear: Vector3<N>`

The linear velocity.

`angular: Vector3<N>`

The angular velocity.

## Methods

### `impl<N: RealField> Velocity3<N>`[src]

#### `pub fn new(linear: Vector3<N>, angular: Vector3<N>) -> Self`[src]

Create velocity from its linear and angular parts.

#### `pub fn new_with_vectors(linear: Vector3<N>, angular: Vector3<N>) -> Self`[src]

Create velocity from its linear and angular parts.

#### `pub fn angular(wx: N, wy: N, wz: N) -> Self`[src]

Create a purely angular velocity.

#### `pub fn linear(vx: N, vy: N, vz: N) -> Self`[src]

Create a purely linear velocity.

#### `pub fn between_positions(    start: &Isometry3<N>,     end: &Isometry3<N>,     time: N) -> Self`[src]

Computes the velocity required to move from `start` to `end` in the given `time`.

#### `pub fn integrate(&self, dt: N) -> Isometry3<N>`[src]

Compute the displacement due to this velocity integrated during the time `dt`.

#### `pub fn to_transform(&self) -> Isometry3<N>`[src]

Compute the displacement due to this velocity integrated during a time equal to `1.0`.

This is equivalent to `self.integrate(1.0)`.

#### `pub fn zero() -> Self`[src]

Create a zero velocity.

#### `pub fn angular_vector(&self) -> Vector3<N>`[src]

The angular part of the velocity.

#### `pub fn as_slice(&self) -> &[N]`[src]

This velocity seen as a slice.

The linear part is stored first.

#### `pub fn as_mut_slice(&mut self) -> &mut [N]`[src]

This velocity seen as a mutable slice.

The linear part is stored first.

#### `pub fn as_vector(&self) -> &Vector6<N>`[src]

This velocity seen as a vector.

The linear part is stored first. #[inline]

#### `pub fn as_vector_mut(&mut self) -> &mut Vector6<N>`[src]

This velocity seen as a mutable vector.

The linear part is stored first. #[inline]

#### `pub fn from_vector<S: Storage<N, U6>>(data: &Vector<N, U6, S>) -> Self`[src]

Create a velocity from a vector.

The linear part of the velocity is expected to be first inside of the input vector.

#### `pub fn from_slice(data: &[N]) -> Self`[src]

Create a velocity from a slice.

The linear part of the velocity is expected to be first inside of the input slice.

#### `pub fn shift(&self, shift: &Vector3<N>) -> Self`[src]

Compute the velocity of a point that is located at the coordinates `shift` relative to the point having `self` as velocity.

#### `pub fn transformed(&self, iso: &Isometry3<N>) -> Self`[src]

Transform each component of `self` by `iso`.

#### `pub fn rotated(&self, rot: &UnitQuaternion<N>) -> Self`[src]

Rotate each component of `self` by `rot`.

## Trait Implementations

### `impl<N: Clone + RealField> Clone for Velocity3<N>`[src]

#### `fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

### `impl<N: RealField> Add<Velocity3<N>> for Velocity3<N>`[src]

#### `type Output = Self`

The resulting type after applying the `+` operator.

### `impl<N: RealField> Sub<Velocity3<N>> for Velocity3<N>`[src]

#### `type Output = Self`

The resulting type after applying the `-` operator.

### `impl<N: RealField> Mul<N> for Velocity3<N>`[src]

#### `type Output = Self`

The resulting type after applying the `*` operator.

### `impl<N: RealField> Mul<Velocity3<N>> for Inertia3<N>`[src]

#### `type Output = Force3<N>`

The resulting type after applying the `*` operator.

## Blanket Implementations

### `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<T> Same<T> for T`

#### `type Output = T`

Should always be `Self`