[−][src]Struct nphysics3d::joint::HelicalJoint
A joint that allows one degree of freedom between two multibody links.
The degree of freedom is the combination of a rotation and a translation along the same axis. Both rotational and translational motions are coupled to generate a screw motion.
Implementations
impl<N: RealField> HelicalJoint<N>
[src]
pub fn new(axis: Unit<Vector3<N>>, pitch: N, angle: N) -> Self
[src]
Create an helical joint with the given axis and initial angle.
The pitch
controls how much translation is generated for how much rotation.
In particular, the translational displacement along axis
is given by angle * pitch
.
pub fn offset(&self) -> N
[src]
The translational displacement along the joint axis.
pub fn angle(&self) -> N
[src]
The rotational displacement along the joint axis.
impl<N: RealField> HelicalJoint<N>
[src]
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 HelicalJoint<N>
[src]
pub fn clone(&self) -> HelicalJoint<N>
[src]
pub fn clone_from(&mut self, source: &Self)
1.0.0[src]
impl<N: Copy + RealField> Copy for HelicalJoint<N>
[src]
impl<N: Debug + RealField> Debug for HelicalJoint<N>
[src]
impl<N: RealField> Joint<N> for HelicalJoint<N>
[src]
pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Vector3<N>,
body_shift: &Vector3<N>
) -> Isometry3<N>
[src]
&self,
parent_shift: &Vector3<N>,
body_shift: &Vector3<N>
) -> Isometry3<N>
pub fn update_jacobians(&mut self, body_shift: &Vector3<N>, vels: &[N])
[src]
pub fn jacobian(
&self,
transform: &Isometry3<N>,
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry3<N>,
out: &mut JacobianSliceMut<'_, N>
)
pub fn jacobian_dot(
&self,
transform: &Isometry3<N>,
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry3<N>,
out: &mut JacobianSliceMut<'_, N>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry3<N>,
acc: &[N],
out: &mut JacobianSliceMut<'_, N>
)
[src]
&self,
transform: &Isometry3<N>,
acc: &[N],
out: &mut JacobianSliceMut<'_, N>
)
pub fn jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, vels: &[N]) -> Velocity<N>
[src]
pub fn default_damping(&self, out: &mut DVectorSliceMut<'_, N>)
[src]
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
pub fn apply_displacement(&mut self, disp: &[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 HelicalJoint<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 HelicalJoint<N> where
N: RefUnwindSafe + Scalar,
[src]
N: RefUnwindSafe + Scalar,
impl<N> Send for HelicalJoint<N> where
N: Scalar,
[src]
N: Scalar,
impl<N> Sync for HelicalJoint<N> where
N: Scalar,
[src]
N: Scalar,
impl<N> Unpin for HelicalJoint<N> where
N: Scalar + Unpin,
[src]
N: Scalar + Unpin,
impl<N> UnwindSafe for HelicalJoint<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>,