Struct nphysics3d::joint::RevoluteJoint [−][src]
pub struct RevoluteJoint<N: Real> { /* fields omitted */ }
A unit joint that allows only one relative rotational degree of freedom between two multibody links.
Methods
impl<N: Real> RevoluteJoint<N>
[src]
impl<N: Real> RevoluteJoint<N>
pub fn new(axis: Unit<AngularVector<N>>, angle: N) -> Self
[src]
pub fn new(axis: Unit<AngularVector<N>>, angle: N) -> Self
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]
pub fn axis(&self) -> Unit<AngularVector<N>>
The axis of the rotational degree of freedom.
pub fn angle(&self) -> N
[src]
pub fn angle(&self) -> N
The angle of rotation.
pub fn rotation(&self) -> &Rotation<N>
[src]
pub fn rotation(&self) -> &Rotation<N>
The rotation from an attached multibody link to its dependent.
pub fn local_jacobian(&self) -> &Velocity<N>
[src]
pub fn local_jacobian(&self) -> &Velocity<N>
The jacobian of this joint expressed in the local coordinate frame of the joint.
pub fn local_jacobian_dot(&self) -> &Velocity<N>
[src]
pub fn local_jacobian_dot(&self) -> &Velocity<N>
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]
pub fn local_jacobian_dot_veldiff(&self) -> &Velocity<N>
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]
pub fn min_angle(&self) -> Option<N>
The lower limit of the rotation angle.
pub fn max_angle(&self) -> Option<N>
[src]
pub fn max_angle(&self) -> Option<N>
The upper limit of the rotation angle.
pub fn disable_min_angle(&mut self)
[src]
pub fn disable_min_angle(&mut self)
Disable the lower limit of the rotation angle.
pub fn disable_max_angle(&mut self)
[src]
pub fn disable_max_angle(&mut self)
Disable the upper limit of the rotation angle.
pub fn enable_min_angle(&mut self, limit: N)
[src]
pub fn enable_min_angle(&mut self, limit: N)
Enable and set the lower limit of the rotation angle.
pub fn enable_max_angle(&mut self, limit: N)
[src]
pub fn enable_max_angle(&mut self, limit: N)
Enable and set the upper limit of the rotation angle.
pub fn is_angular_motor_enabled(&self) -> bool
[src]
pub fn is_angular_motor_enabled(&self) -> bool
Return true
if the angular motor of this joint is enabled.
pub fn enable_angular_motor(&mut self)
[src]
pub fn enable_angular_motor(&mut self)
Enable the angular motor of this joint.
pub fn disable_angular_motor(&mut self)
[src]
pub fn disable_angular_motor(&mut self)
Disable the angular motor of this joint.
pub fn desired_angular_motor_velocity(&self) -> N
[src]
pub fn desired_angular_motor_velocity(&self) -> N
The desired angular velocity of the joint motor.
pub fn set_desired_angular_motor_velocity(&mut self, vel: N)
[src]
pub fn set_desired_angular_motor_velocity(&mut self, vel: N)
Set the desired angular velocity of the joint motor.
pub fn max_angular_motor_torque(&self) -> N
[src]
pub fn max_angular_motor_torque(&self) -> N
The maximum torque that can be delivered by the joint motor.
pub fn set_max_angular_motor_torque(&mut self, torque: N)
[src]
pub fn set_max_angular_motor_torque(&mut self, torque: N)
Set the maximum torque that can be delivered by the joint motor.
Trait Implementations
impl<N: Copy + Real> Copy for RevoluteJoint<N>
[src]
impl<N: Copy + Real> Copy for RevoluteJoint<N>
impl<N: Clone + Real> Clone for RevoluteJoint<N>
[src]
impl<N: Clone + Real> Clone for RevoluteJoint<N>
fn clone(&self) -> RevoluteJoint<N>
[src]
fn clone(&self) -> RevoluteJoint<N>
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl<N: Debug + Real> Debug for RevoluteJoint<N>
[src]
impl<N: Debug + Real> Debug for RevoluteJoint<N>
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl<N: Real> Joint<N> for RevoluteJoint<N>
[src]
impl<N: Real> Joint<N> for RevoluteJoint<N>
fn ndofs(&self) -> usize
[src]
fn ndofs(&self) -> usize
The number of degrees of freedom allowed by the joint.
fn body_to_parent(
&self,
parent_shift: &Vector<N>,
body_shift: &Vector<N>
) -> Isometry<N>
[src]
fn body_to_parent(
&self,
parent_shift: &Vector<N>,
body_shift: &Vector<N>
) -> Isometry<N>
The position of the multibody link containing this joint relative to its parent.
fn update_jacobians(&mut self, body_shift: &Vector<N>, vels: &[N])
[src]
fn update_jacobians(&mut self, body_shift: &Vector<N>, vels: &[N])
Update the jacobians of this joint.
fn jacobian(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
[src]
fn jacobian(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
Sets in out
the non-zero entries of the joint jacobian transformed by transform
.
fn jacobian_dot(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
[src]
fn jacobian_dot(&self, transform: &Isometry<N>, out: &mut JacobianSliceMut<N>)
Sets in out
the non-zero entries of the time-derivative of the joint jacobian transformed by transform
.
fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N>,
acc: &[N],
out: &mut JacobianSliceMut<N>
)
[src]
fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N>,
acc: &[N],
out: &mut JacobianSliceMut<N>
)
Sets in out
the non-zero entries of the velocity-derivative of the time-derivative of the joint jacobian transformed by transform
.
fn integrate(&mut self, params: &IntegrationParameters<N>, vels: &[N])
[src]
fn integrate(&mut self, params: &IntegrationParameters<N>, vels: &[N])
Integrate the position of this joint.
fn default_damping(&self, out: &mut DVectorSliceMut<N>)
[src]
fn default_damping(&self, out: &mut DVectorSliceMut<N>)
Fill out
with the non-zero entries of a damping that can be applied by default to ensure a good stability of the joint.
fn apply_displacement(&mut self, disp: &[N])
[src]
fn apply_displacement(&mut self, disp: &[N])
Apply a displacement to the joint.
fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
Multiply the joint jacobian by generalized velocities to obtain the relative velocity of the multibody link containing this joint. Read more
fn jacobian_dot_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
[src]
fn jacobian_dot_mul_coordinates(&self, acc: &[N]) -> Velocity<N>
Multiply the joint jacobian by generalized accelerations to obtain the relative acceleration of the multibody link containing this joint. Read more
fn num_velocity_constraints(&self) -> usize
[src]
fn num_velocity_constraints(&self) -> usize
Maximum number of velocity constrains that can be generated by this joint.
fn velocity_constraints(
&self,
params: &IntegrationParameters<N>,
link: &MultibodyLinkRef<N>,
assembly_id: usize,
dof_id: usize,
ext_vels: &[N],
ground_j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N>
)
[src]
fn velocity_constraints(
&self,
params: &IntegrationParameters<N>,
link: &MultibodyLinkRef<N>,
assembly_id: usize,
dof_id: usize,
ext_vels: &[N],
ground_j_id: &mut usize,
jacobians: &mut [N],
constraints: &mut ConstraintSet<N>
)
Initialize and generate velocity constraints to enforce, e.g., joint limits and motors.
fn num_position_constraints(&self) -> usize
[src]
fn num_position_constraints(&self) -> usize
The maximum number of non-linear position constraints that can be generated by this joint.
fn position_constraint(
&self,
_: usize,
link: &MultibodyLinkRef<N>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
[src]
fn position_constraint(
&self,
_: usize,
link: &MultibodyLinkRef<N>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N>>
Initialize and generate the i-th position constraints to enforce, e.g., joint limits.
fn nimpulses(&self) -> usize
[src]
fn nimpulses(&self) -> usize
The maximum number of impulses needed by this joints for its constraints. Read more
impl<N: Real> UnitJoint<N> for RevoluteJoint<N>
[src]
impl<N: Real> UnitJoint<N> for RevoluteJoint<N>
fn position(&self) -> N
[src]
fn position(&self) -> N
The generalized coordinate of the unit joint.
fn motor(&self) -> &JointMotor<N, N>
[src]
fn motor(&self) -> &JointMotor<N, N>
The motor applied to the degree of freedom of the unit joitn.
fn min_position(&self) -> Option<N>
[src]
fn min_position(&self) -> Option<N>
The lower limit, if any, set to the generalized coordinate of this unit joint.
fn max_position(&self) -> Option<N>
[src]
fn max_position(&self) -> Option<N>
The upper limit, if any, set to the generalized coordinate of this unit joint.
Auto Trait Implementations
impl<N> Send for RevoluteJoint<N> where
N: Scalar,
impl<N> Send for RevoluteJoint<N> where
N: Scalar,
impl<N> Sync for RevoluteJoint<N> where
N: Scalar,
impl<N> Sync for RevoluteJoint<N> where
N: Scalar,