# [−][src]Enum ncollide3d::shape::TetrahedronPointLocation

```pub enum TetrahedronPointLocation<N: RealField> {
OnVertex(usize),
OnEdge(usize, [N; 2]),
OnFace(usize, [N; 3]),
OnSolid,
}```

Logical description of the location of a point on a triangle.

## Variants

`OnVertex(usize)`

The point lies on a vertex.

`OnEdge(usize, [N; 2])`

The point lies on an edge.

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.

`OnFace(usize, [N; 3])`

The point lies on a triangular face interior.

The first face is the triangle ABC. The second face is the triangle ABD. The third face is the triangle ACD. The fourth face is the triangle BDC.

`OnSolid`

The point lies inside of the tetrahedron.

## Methods

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

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

The barycentric coordinates corresponding to this point location.

Returns `None` if the location is `TetrahedronPointLocation::OnSolid`.

#### `pub fn same_feature_as(&self, other: &TetrahedronPointLocation<N>) -> bool`[src]

Returns `true` if both `self` and `other` correspond to points on the same feature of a tetrahedron.

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