[−][src]Struct nphysics3d::joint::RevoluteJoint
A unit joint that allows only one relative rotational degree of freedom between two multibody links.
Implementations
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_velocity(&self) -> N
[src]
The max angular velocity that the joint motor will attempt.
pub fn set_max_angular_motor_velocity(&mut self, max_vel: N)
[src]
Set the maximum angular velocity that the joint motor will attempt.
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.
Trait Implementations
impl<N: Clone + RealField> Clone for RevoluteJoint<N>
[src]
pub fn clone(&self) -> RevoluteJoint<N>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: Copy + RealField> Copy for RevoluteJoint<N>
[src]
impl<N: Debug + RealField> Debug for RevoluteJoint<N>
[src]
impl<N: RealField> Joint<N> for RevoluteJoint<N>
[src]
pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Vector<N>,
body_shift: &Vector<N>
) -> Isometry<N>
[src]
&self,
parent_shift: &Vector<N>,
body_shift: &Vector<N>
) -> Isometry<N>
pub fn update_jacobians(&mut self, body_shift: &Vector<N>, vels: &[N])
[src]
pub fn jacobian(
&self,
transform: &Isometry<N>,
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry<N>,
out: &mut JacobianSliceMut<'_, N>
)
pub fn jacobian_dot(
&self,
transform: &Isometry<N>,
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry<N>,
out: &mut JacobianSliceMut<'_, N>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N>,
acc: &[N],
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry<N>,
acc: &[N],
out: &mut JacobianSliceMut<'_, N>
)
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
pub fn default_damping(&self, out: &mut DVectorSliceMut<'_, N>)
[src]
pub fn apply_displacement(&mut self, disp: &[N])
[src]
pub fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
pub fn clone(&self) -> Box<dyn Joint<N>>
[src]
pub fn num_velocity_constraints(&self) -> usize
[src]
pub fn velocity_constraints(
&self,
parameters: &IntegrationParameters<N>,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
assembly_id: usize,
dof_id: usize,
ext_vels: &[N],
ground_j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N, (), (), usize>
)
[src]
&self,
parameters: &IntegrationParameters<N>,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
assembly_id: usize,
dof_id: usize,
ext_vels: &[N],
ground_j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N, (), (), usize>
)
pub fn num_position_constraints(&self) -> usize
[src]
pub fn position_constraint(
&self,
_: usize,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
handle: BodyPartHandle<()>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>>
[src]
&self,
_: usize,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
handle: BodyPartHandle<()>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>>
pub fn nimpulses(&self) -> usize
[src]
impl<N: RealField> UnitJoint<N> for RevoluteJoint<N>
[src]
pub fn position(&self) -> N
[src]
pub fn motor(&self) -> &JointMotor<N, N>
[src]
pub fn min_position(&self) -> Option<N>
[src]
pub fn max_position(&self) -> Option<N>
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for RevoluteJoint<N> where
N: RefUnwindSafe + Scalar,
[src]
N: RefUnwindSafe + Scalar,
impl<N> Send for RevoluteJoint<N> where
N: Scalar,
[src]
N: Scalar,
impl<N> Sync for RevoluteJoint<N> where
N: Scalar,
[src]
N: Scalar,
impl<N> Unpin for RevoluteJoint<N> where
N: Scalar + Unpin,
[src]
N: Scalar + Unpin,
impl<N> UnwindSafe for RevoluteJoint<N> where
N: Scalar + UnwindSafe,
[src]
N: Scalar + UnwindSafe,
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
pub fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
[src]
T: Any,
pub fn into_any(self: Box<T, Global>) -> Box<dyn Any + 'static, Global>
[src]
pub fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
[src]
pub fn as_any(&self) -> &(dyn Any + 'static)
[src]
pub fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
[src]
impl<T> DowncastSync for T where
T: Send + Sync + Any,
[src]
T: Send + Sync + Any,
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> Same<T> for T
type Output = T
Should always be Self
impl<T> Slottable for T where
T: Copy,
[src]
T: Copy,
impl<SS, SP> SupersetOf<SS> for SP where
SS: SubsetOf<SP>,
[src]
SS: SubsetOf<SP>,
pub fn to_subset(&self) -> Option<SS>
[src]
pub fn is_in_subset(&self) -> bool
[src]
pub fn to_subset_unchecked(&self) -> SS
[src]
pub fn from_subset(element: &SS) -> SP
[src]
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
pub fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,
type Error = <U as TryFrom<T>>::Error
The type returned in the event of a conversion error.
pub fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>
[src]
impl<V, T> VZip<V> for T where
V: MultiLane<T>,
V: MultiLane<T>,