# Struct nphysics3d::joint::CartesianJoint [−][src]

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

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

## Methods

`impl<N: Real> CartesianJoint<N>`

[src]

`impl<N: Real> CartesianJoint<N>`

`pub fn new(position: Vector<N>) -> Self`

[src]

`pub fn new(position: Vector<N>) -> Self`

Create a cartesian joint with an initial position given by `position`

.

## Trait Implementations

`impl<N: Copy + Real> Copy for CartesianJoint<N>`

[src]

`impl<N: Copy + Real> Copy for CartesianJoint<N>`

`impl<N: Clone + Real> Clone for CartesianJoint<N>`

[src]

`impl<N: Clone + Real> Clone for CartesianJoint<N>`

`fn clone(&self) -> CartesianJoint<N>`

[src]

`fn clone(&self) -> CartesianJoint<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 CartesianJoint<N>`

[src]

`impl<N: Debug + Real> Debug for CartesianJoint<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 CartesianJoint<N>`

[src]

`impl<N: Real> Joint<N> for CartesianJoint<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, _: &Vector<N>, _: &[N])`

[src]

`fn update_jacobians(&mut self, _: &Vector<N>, _: &[N])`

Update the jacobians of this joint.

`fn jacobian(&self, _: &Isometry<N>, out: &mut JacobianSliceMut<N>)`

[src]

`fn jacobian(&self, _: &Isometry<N>, out: &mut JacobianSliceMut<N>)`

Sets in `out`

the non-zero entries of the joint jacobian transformed by `transform`

.

`fn jacobian_dot(&self, _: &Isometry<N>, _: &mut JacobianSliceMut<N>)`

[src]

`fn jacobian_dot(&self, _: &Isometry<N>, _: &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,

_: &Isometry<N>,

_: &[N],

_: &mut JacobianSliceMut<N>

)

[src]

`fn jacobian_dot_veldiff_mul_coordinates(`

&self,

_: &Isometry<N>,

_: &[N],

_: &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 jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity<N>`

[src]

`fn jacobian_mul_coordinates(&self, vels: &[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, _: &[N]) -> Velocity<N>`

[src]

`fn jacobian_dot_mul_coordinates(&self, _: &[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 default_damping(&self, _: &mut DVectorSliceMut<N>)`

[src]

`fn default_damping(&self, _: &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 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 apply_displacement(&mut self, disp: &[N])`

[src]

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

Apply a displacement to the joint.

`fn nimpulses(&self) -> usize`

[src]

`fn nimpulses(&self) -> usize`

The maximum number of impulses needed by this joints for its constraints. 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],

_velocity_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],

_velocity_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,

_i: usize,

_link: &MultibodyLinkRef<N>,

_dof_id: usize,

_jacobians: &mut [N]

) -> Option<GenericNonlinearConstraint<N>>

[src]

`fn position_constraint(`

&self,

_i: 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.

## Auto Trait Implementations

`impl<N> Send for CartesianJoint<N>`

`impl<N> Send for CartesianJoint<N>`

`impl<N> Sync for CartesianJoint<N>`

`impl<N> Sync for CartesianJoint<N>`