# [−][src]Struct nphysics3d::joint::PinSlotConstraint

`pub struct PinSlotConstraint<N: RealField, Handle: BodyHandle> { /* fields omitted */ }`

A constraint that removes two translational and two rotational degrees of freedoms.

This is different frmo the cylindrical constraint since the remaining rotation and translation are not restricted to be done wrt. the same axis.

## Methods

### `impl<N: RealField, Handle: BodyHandle> PinSlotConstraint<N, Handle>`[src]

#### `pub fn new(    b1: BodyPartHandle<Handle>,     b2: BodyPartHandle<Handle>,     anchor1: Point<N>,     axis_v1: Unit<Vector<N>>,     axis_w1: Unit<Vector<N>>,     anchor2: Point<N>,     axis_w2: Unit<Vector<N>>) -> Self`[src]

Creates a new pin-slot constraint.

This will ensure the relative linear motions are always along `axis_v1` (here expressed in the local coordinate frame of `b1`), and that `axis_w1` and `axis_w2` always coincide. All axises and anchors are expressed in the local coordinate frame of their respective body part.

#### `pub fn set_break_force(&mut self, break_force: N)`[src]

The maximum force this joint can absorb before breaking.

#### `pub fn set_break_torque(&mut self, break_torque: N)`[src]

The maximum torque this joint can absorb before breaking.

## Blanket Implementations

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

#### `type Output = T`

Should always be `Self`

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