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

`pub struct RevoluteJoint<N: RealField> { /* fields omitted */ }`

A unit joint that allows only one relative rotational degree of freedom between two multibody links.

## Methods

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

#### `pub fn new(axis: Unit<AngularVector<N>>, angle: N) -> Self`[src]

Create a new revolute joint with an axis and an initial angle.

The axis along which the rotation can happen is expressed in the local coordinate system of the attached multibody links.

#### `pub fn axis(&self) -> Unit<AngularVector<N>>`[src]

The axis of the rotational degree of freedom.

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

The angle of rotation.

#### `pub fn rotation(&self) -> &Rotation<N>`[src]

The rotation from an attached multibody link to its dependent.

#### `pub fn local_jacobian(&self) -> &Velocity<N>`[src]

The jacobian of this joint expressed in the local coordinate frame of the joint.

#### `pub fn local_jacobian_dot(&self) -> &Velocity<N>`[src]

The time-derivative of the jacobian of this joint expressed in the local coordinate frame of the joint.

#### `pub fn local_jacobian_dot_veldiff(&self) -> &Velocity<N>`[src]

The velocity-derivative of the time-derivative of the jacobian of this joint expressed in the local coordinate frame of the joint.

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

The lower limit of the rotation angle.

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

The upper limit of the rotation angle.

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

Disable the lower limit of the rotation angle.

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

Disable the upper limit of the rotation angle.

#### `pub fn enable_min_angle(&mut self, limit: N)`[src]

Enable and set the lower limit of the rotation angle.

#### `pub fn enable_max_angle(&mut self, limit: N)`[src]

Enable and set the upper limit of the rotation angle.

#### `pub fn is_angular_motor_enabled(&self) -> bool`[src]

Return `true` if the angular motor of this joint is enabled.

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

Enable the angular motor of this joint.

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

Disable the angular motor of this joint.

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

The desired angular velocity of the joint motor.

#### `pub fn set_desired_angular_motor_velocity(&mut self, vel: N)`[src]

Set the desired angular velocity of the joint motor.

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

The maximum torque that can be delivered by the joint motor.

#### `pub fn set_max_angular_motor_torque(&mut self, torque: N)`[src]

Set the maximum torque that can be delivered by the joint motor.

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