# [−][src]Struct ncollide3d::shape::Tetrahedron

```#[repr(C)]
pub struct Tetrahedron<N: RealField> { /* fields omitted */ }```

A tetrahedron with 4 vertices.

## Methods

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

#### `pub fn new(a: Point<N>, b: Point<N>, c: Point<N>, d: Point<N>) -> Tetrahedron<N>`[src]

Creates a tetrahedron from three points.

#### `pub fn from_array(arr: &[Point<N>; 4]) -> &Tetrahedron<N>`[src]

Creates the reference to a tetrahedron from the reference to an array of four points.

#### `pub fn a(&self) -> &Point<N>`[src]

The fist point of this tetrahedron.

#### `pub fn b(&self) -> &Point<N>`[src]

The second point of this tetrahedron.

#### `pub fn c(&self) -> &Point<N>`[src]

The third point of this tetrahedron.

#### `pub fn d(&self) -> &Point<N>`[src]

The fourth point of this tetrahedron.

#### `pub fn face(&self, i: usize) -> Triangle<N>`[src]

Returns the i-th face of this tetrahedron.

The 0-th face is the triangle ABC. The 1-st face is the triangle ABD. The 2-nd face is the triangle ACD. The 3-rd face is the triangle BCD.

#### `pub fn face_ids(i: usize) -> (usize, usize, usize)`[src]

Returns the i-th face of this tetrahedron.

The 0-th face is the triangle ABC. The 1-st face is the triangle ABD. The 2-nd face is the triangle ACD. The 3-rd face is the triangle BCD.

#### `pub fn edge(&self, i: usize) -> Segment<N>`[src]

Returns the i-th edge of this tetrahedron.

The 0-st edge is the segment AB. The 1-st edge is the segment AC. The 2-nd edge is the segment AD. The 3-rd edge is the segment BC. The 4-th edge is the segment BD. The 5-th edge is the segment CD.

#### `pub fn edge_ids(i: usize) -> (usize, usize)`[src]

Returns the indices of the vertices of the i-th edge of this tetrahedron.

The 0-st edge is the segment AB. The 1-st edge is the segment AC. The 2-nd edge is the segment AD. The 3-rd edge is the segment BC. The 4-th edge is the segment BD. The 5-th edge is the segment CD.

#### `pub fn barycentric_coordinates(&self, p: &Point<N>) -> Option<[N; 4]>`[src]

Computes the barycentric coordinates of the given point in the coordinate system of this tetrahedron.

Returns `None` if this tetrahedron is degenerate.

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