[−][src]Struct nphysics3d::joint::RevoluteJoint
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.
Trait Implementations
impl<N: Clone + RealField> Clone for RevoluteJoint<N>
[src]
fn clone(&self) -> RevoluteJoint<N>
[src]
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]
fn ndofs(&self) -> usize
[src]
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>
fn update_jacobians(&mut self, body_shift: &Vector<N>, vels: &[N])
[src]
fn jacobian(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
[src]
fn jacobian_dot(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
[src]
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>
)
fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
fn default_damping(&self, out: &mut DVectorSliceMut<N>)
[src]
fn apply_displacement(&mut self, disp: &[N])
[src]
fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
fn jacobian_dot_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
fn clone(&self) -> Box<dyn Joint<N>>
[src]
fn num_velocity_constraints(&self) -> usize
[src]
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>
)
fn num_position_constraints(&self) -> usize
[src]
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, ()>>
fn nimpulses(&self) -> usize
[src]
impl<N: RealField> UnitJoint<N> for RevoluteJoint<N>
[src]
fn position(&self) -> N
[src]
fn motor(&self) -> &JointMotor<N, N>
[src]
fn min_position(&self) -> Option<N>
[src]
fn max_position(&self) -> Option<N>
[src]
Auto Trait Implementations
impl<N> RefUnwindSafe for RevoluteJoint<N> where
N: RefUnwindSafe + Scalar,
N: RefUnwindSafe + Scalar,
impl<N> Send for RevoluteJoint<N> where
N: Scalar,
N: Scalar,
impl<N> Sync for RevoluteJoint<N> where
N: Scalar,
N: Scalar,
impl<N> Unpin for RevoluteJoint<N> where
N: Scalar + Unpin,
N: Scalar + Unpin,
impl<N> UnwindSafe for RevoluteJoint<N> where
N: Scalar + UnwindSafe,
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,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> Downcast for T where
T: Any,
T: Any,
fn into_any(self: Box<T>) -> Box<dyn Any + 'static>
fn into_any_rc(self: Rc<T>) -> Rc<dyn Any + 'static>
fn as_any(&self) -> &(dyn Any + 'static)
fn as_any_mut(&mut self) -> &mut (dyn Any + 'static)
impl<T> DowncastSync for T where
T: Send + Sync + Any,
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>,
SS: SubsetOf<SP>,
fn to_subset(&self) -> Option<SS>
fn is_in_subset(&self) -> bool
unsafe fn to_subset_unchecked(&self) -> SS
fn from_subset(element: &SS) -> SP
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
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.
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.
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>,