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

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

A segment shape.

## Methods

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

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

Creates a new segment from two points.

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

Creates the reference to a segment from the reference to an array of two points.

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

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

The first point of this segment.

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

The second point of this segment.

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

#### `pub fn scaled_direction(&self) -> Vector<N>`[src]

The direction of this segment scaled by its length.

Points from `self.a()` toward `self.b()`.

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

The length of this segment.

#### `pub fn swap(&mut self)`[src]

Swaps the two vertices of this segment.

#### `pub fn direction(&self) -> Option<Unit<Vector<N>>>`[src]

The unit direction of this segment.

Points from `self.a()` toward `self.b()`. Returns `None` is both points are equal.

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

Applies the isometry `m` to the vertices of this segment and returns the resulting segment.

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

Computes the point at the given location.

#### `pub fn tangent_cone_contains_dir(    &self,     feature: FeatureId,     m: &Isometry<N>,     dir: &Unit<Vector<N>>) -> bool`[src]

Checks that the given direction in world-space is on the tangent cone of the given `feature`.

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