Struct nphysics3d::joint::RevoluteJoint [−][src]
Expand description
A unit joint that allows only one relative rotational degree of freedom between two multibody links.
Implementations
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.
The axis of the rotational degree of freedom.
The rotation from an attached multibody link to its dependent.
The jacobian of this joint expressed in the local coordinate frame of the joint.
The time-derivative of the jacobian of this joint expressed in the local coordinate frame of the joint.
The velocity-derivative of the time-derivative of the jacobian of this joint expressed in the local coordinate frame of the joint.
Disable the lower limit of the rotation angle.
Disable the upper limit of the rotation angle.
Enable and set the lower limit of the rotation angle.
Enable and set the upper limit of the rotation angle.
Return true
if the angular motor of this joint is enabled.
Enable the angular motor of this joint.
Disable the angular motor of this joint.
The desired angular velocity of the joint motor.
Set the desired angular velocity of the joint motor.
The max angular velocity that the joint motor will attempt.
Set the maximum angular velocity that the joint motor will attempt.
The maximum torque that can be delivered by the joint motor.
Set the maximum torque that can be delivered by the joint motor.
Trait Implementations
The position of the multibody link containing this joint relative to its parent.
Update the jacobians of this joint.
Sets in out
the non-zero entries of the joint jacobian transformed by transform
.
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>
)
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
.
Integrate the position of this joint.
Fill out
with the non-zero entries of a damping that can be applied by default to ensure a good stability of the joint.
Apply a displacement to the joint.
Multiply the joint jacobian by generalized velocities to obtain the relative velocity of the multibody link containing this joint. Read more
Multiply the joint jacobian by generalized accelerations to obtain the relative acceleration of the multibody link containing this joint. Read more
Maximum number of velocity constrains that can be generated by this joint.
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>
)
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>
)
Initialize and generate velocity constraints to enforce, e.g., joint limits and motors.
The maximum number of non-linear position constraints that can be generated by this joint.
fn position_constraint(
&self,
_: usize,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
handle: BodyPartHandle<()>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>>
fn position_constraint(
&self,
_: usize,
multibody: &Multibody<N>,
link: &MultibodyLink<N>,
handle: BodyPartHandle<()>,
dof_id: usize,
jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>>
Initialize and generate the i-th position constraints to enforce, e.g., joint limits.
The motor applied to the degree of freedom of the unit joitn.
The lower limit, if any, set to the generalized coordinate of this unit joint.
The upper limit, if any, set to the generalized coordinate of this unit joint.
Auto Trait Implementations
impl<N> RefUnwindSafe for RevoluteJoint<N> where
N: RefUnwindSafe,
impl<N> Send for RevoluteJoint<N>
impl<N> Sync for RevoluteJoint<N>
impl<N> Unpin for RevoluteJoint<N> where
N: Unpin,
impl<N> UnwindSafe for RevoluteJoint<N> where
N: UnwindSafe,
Blanket Implementations
Mutably borrows from an owned value. Read more
Convert Box<dyn Trait>
(where Trait: Downcast
) to Box<dyn Any>
. Box<dyn Any>
can
then be further downcast
into Box<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert Rc<Trait>
(where Trait: Downcast
) to Rc<Any>
. Rc<Any>
can then be
further downcast
into Rc<ConcreteType>
where ConcreteType
implements Trait
. Read more
Convert &Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &Any
’s vtable from &Trait
’s. Read more
Convert &mut Trait
(where Trait: Downcast
) to &Any
. This is needed since Rust cannot
generate &mut Any
’s vtable from &mut Trait
’s. Read more
type Output = T
type Output = T
Should always be Self
The inverse inclusion map: attempts to construct self
from the equivalent element of its
superset. Read more
Checks if self
is actually part of its subset T
(and can be converted to it).
Use with care! Same as self.to_subset
but without any property checks. Always succeeds.
The inclusion map: converts self
to the equivalent element of its superset.