# [−][src]Struct ncollide3d::query::Ray

```pub struct Ray<N: RealField> {
pub origin: Point<N>,
pub dir: Vector<N>,
}```

A Ray.

## Fields

`origin: Point<N>`

Starting point of the ray.

`dir: Vector<N>`

Direction of the ray.

## Methods

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

#### `pub fn new(origin: Point<N>, dir: Vector<N>) -> Ray<N>`[src]

Creates a new ray starting from `origin` and with the direction `dir`. `dir` must be normalized.

#### `pub fn transform_by(&self, m: &Isometry<N>) -> Self`[src]

Transforms this ray by the given isometry.

#### `pub fn inverse_transform_by(&self, m: &Isometry<N>) -> Self`[src]

Transforms this ray by the inverse of the given isometry.

#### `pub fn translate_by(&self, v: Vector<N>) -> Self`[src]

Translates this ray by the given vector. Its direction is left unchanged.

#### `pub fn point_at(&self, t: N) -> Point<N>`[src]

Computes the point at the given parameter on this line.

This computes `self.origin + self.dir * t`.

## Blanket Implementations

### `impl<T> Same<T> for T`

#### `type Output = T`

Should always be `Self`

### `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.