Struct nphysics3d::joint::BallJoint[−][src]

`pub struct BallJoint<N: Real> { /* fields omitted */ }`

A joint that allows only all rotational degrees of freedom between two multibody links.

Methods

`impl<N: Real> BallJoint<N>`[src]

`pub fn new(axisangle: Vector3<N>) -> Self`[src]

Create a ball joint with the an initial position given by a rotation in axis-angle form.

Trait Implementations

`impl<N: Clone + Real> Clone for BallJoint<N>`[src]

`fn clone(&self) -> BallJoint<N>`[src]

Returns a copy of the value. Read more

`fn clone_from(&mut self, source: &Self)`1.0.0[src]

Performs copy-assignment from `source`. Read more

`impl<N: Debug + Real> Debug for BallJoint<N>`[src]

`fn fmt(&self, f: &mut Formatter) -> Result`[src]

Formats the value using the given formatter. Read more

`impl<N: Real> Joint<N> for BallJoint<N>`[src]

`fn ndofs(&self) -> usize`[src]

The number of degrees of freedom allowed by the joint.

`fn body_to_parent(    &self,     parent_shift: &Vector3<N>,     body_shift: &Vector3<N>) -> Isometry3<N>`[src]

The position of the multibody link containing this joint relative to its parent.

`fn update_jacobians(&mut self, body_shift: &Vector3<N>, vels: &[N])`[src]

Update the jacobians of this joint.

`fn jacobian(&self, transform: &Isometry3<N>, out: &mut JacobianSliceMut<N>)`[src]

Sets in `out` the non-zero entries of the joint jacobian transformed by `transform`.

`fn jacobian_dot(&self, transform: &Isometry3<N>, out: &mut JacobianSliceMut<N>)`[src]

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: &Isometry3<N>,     acc: &[N],     out: &mut JacobianSliceMut<N>)`[src]

Sets in `out` the non-zero entries of the velocity-derivative of the time-derivative of the joint jacobian transformed by `transform`.

`fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity<N>`[src]

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]

Multiply the joint jacobian by generalized accelerations to obtain the relative acceleration of the multibody link containing this joint. Read more

`fn default_damping(&self, out: &mut DVectorSliceMut<N>)`[src]

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 integrate(&mut self, params: &IntegrationParameters<N>, vels: &[N])`[src]

Integrate the position of this joint.

`fn apply_displacement(&mut self, disp: &[N])`[src]

Apply a displacement to the joint.

`fn nimpulses(&self) -> usize`[src]

The maximum number of impulses needed by this joints for its constraints. Read more

`fn num_velocity_constraints(&self) -> usize`[src]

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],     _velocity_constraints: &mut ConstraintSet<N>)`[src]

Initialize and generate velocity constraints to enforce, e.g., joint limits and motors.

`fn num_position_constraints(&self) -> usize`[src]

The maximum number of non-linear position constraints that can be generated by this joint.

`fn position_constraint(    &self,     _i: usize,     _link: &MultibodyLinkRef<N>,     _dof_id: usize,     _jacobians: &mut [N]) -> Option<GenericNonlinearConstraint<N>>`[src]

Initialize and generate the i-th position constraints to enforce, e.g., joint limits.