Trait oxygengine_physics_2d::prelude::joint::Joint [−][src]
pub trait Joint<N>: Downcast + Send + Sync where
N: RealField, {}Show methods
pub fn ndofs(&self) -> usize; pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>; pub fn update_jacobians(
&mut self,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
vels: &[N]
); pub fn integrate(
&mut self,
parameters: &IntegrationParameters<N>,
vels: &[N]
); pub fn apply_displacement(&mut self, disp: &[N]); pub fn jacobian(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
); pub fn jacobian_dot(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
); pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
vels: &[N],
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
); pub fn jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>; pub fn jacobian_dot_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>; pub fn default_damping(
&self,
out: &mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
); pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>; pub fn nimpulses(&self) -> usize { ... } pub fn num_velocity_constraints(&self) -> usize { ... } pub fn velocity_constraints(
&self,
_params: &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],
_velocity_constraints: &mut ConstraintSet<N, (), (), usize>
) { ... } pub fn num_position_constraints(&self) -> usize { ... } pub fn position_constraint(
&self,
_i: usize,
_multibody: &Multibody<N>,
_link: &MultibodyLink<N>,
_handle: BodyPartHandle<()>,
_dof_id: usize,
_jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>> { ... }
Trait implemented by all joints following the reduced-coordinate formation.
Required methods
pub fn ndofs(&self) -> usize
[src]
The number of degrees of freedom allowed by the joint.
pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
The position of the multibody link containing this joint relative to its parent.
pub fn update_jacobians(
&mut self,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
vels: &[N]
)
[src]
&mut self,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
vels: &[N]
)
Update the jacobians of this joint.
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
Integrate the position of this joint.
pub fn apply_displacement(&mut self, disp: &[N])
[src]
Apply a displacement to the joint.
pub fn jacobian(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
Sets in out
the non-zero entries of the joint jacobian transformed by transform
.
pub fn jacobian_dot(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
Sets in out
the non-zero entries of the time-derivative of the joint jacobian transformed by transform
.
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
vels: &[N],
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
vels: &[N],
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
Sets in out
the non-zero entries of the velocity-derivative of the time-derivative of the joint jacobian transformed by transform
.
pub fn jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>
[src]
Multiply the joint jacobian by generalized velocities to obtain the relative velocity of the multibody link containing this joint.
pub fn jacobian_dot_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>
[src]
Multiply the joint jacobian by generalized accelerations to obtain the relative acceleration of the multibody link containing this joint.
pub fn default_damping(
&self,
out: &mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
out: &mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
Fill out
with the non-zero entries of a damping that can be applied by default to ensure a good stability of the joint.
pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>
[src]
Provided methods
pub fn nimpulses(&self) -> usize
[src]
The maximum number of impulses needed by this joints for its constraints.
pub fn num_velocity_constraints(&self) -> usize
[src]
Maximum number of velocity constrains that can be generated by this joint.
pub fn velocity_constraints(
&self,
_params: &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],
_velocity_constraints: &mut ConstraintSet<N, (), (), usize>
)
[src]
&self,
_params: &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],
_velocity_constraints: &mut ConstraintSet<N, (), (), usize>
)
Initialize and generate velocity constraints to enforce, e.g., joint limits and motors.
pub fn num_position_constraints(&self) -> usize
[src]
The maximum number of non-linear position constraints that can be generated by this joint.
pub fn position_constraint(
&self,
_i: usize,
_multibody: &Multibody<N>,
_link: &MultibodyLink<N>,
_handle: BodyPartHandle<()>,
_dof_id: usize,
_jacobians: &mut [N]
) -> Option<GenericNonlinearConstraint<N, ()>>
[src]
&self,
_i: 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.
Implementations
impl<N> dyn Joint<N> + 'static where
N: Any + 'static + RealField,
[src]
impl<N> dyn Joint<N> + 'static where
N: Any + 'static + RealField,
[src]pub fn is<__T>(&self) -> bool where
__T: Joint<N>,
[src]
__T: Joint<N>,
Returns true if the trait object wraps an object of type __T
.
pub fn downcast<__T>(
self: Box<dyn Joint<N> + 'static, Global>
) -> Result<Box<__T, Global>, Box<dyn Joint<N> + 'static, Global>> where
__T: Joint<N>,
[src]
self: Box<dyn Joint<N> + 'static, Global>
) -> Result<Box<__T, Global>, Box<dyn Joint<N> + 'static, Global>> where
__T: Joint<N>,
Returns a boxed object from a boxed trait object if the underlying object is of type
__T
. Returns the original boxed trait if it isn’t.
pub fn downcast_rc<__T>(
self: Rc<dyn Joint<N> + 'static>
) -> Result<Rc<__T>, Rc<dyn Joint<N> + 'static>> where
__T: Joint<N>,
[src]
self: Rc<dyn Joint<N> + 'static>
) -> Result<Rc<__T>, Rc<dyn Joint<N> + 'static>> where
__T: Joint<N>,
Returns an Rc
-ed object from an Rc
-ed trait object if the underlying object is of
type __T
. Returns the original Rc
-ed trait if it isn’t.
pub fn downcast_ref<__T>(&self) -> Option<&__T> where
__T: Joint<N>,
[src]
__T: Joint<N>,
Returns a reference to the object within the trait object if it is of type __T
, or
None
if it isn’t.
pub fn downcast_mut<__T>(&mut self) -> Option<&mut __T> where
__T: Joint<N>,
[src]
__T: Joint<N>,
Returns a mutable reference to the object within the trait object if it is of type
__T
, or None
if it isn’t.
Implementors
impl<N> Joint<N> for CartesianJoint<N> where
N: RealField,
[src]
impl<N> Joint<N> for CartesianJoint<N> where
N: RealField,
[src]pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
pub fn update_jacobians(
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
[src]
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
pub fn jacobian(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, &[N]) -> Velocity2<N>
[src]
pub fn default_damping(
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
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> + 'static, Global>
[src]
impl<N> Joint<N> for FixedJoint<N> where
N: RealField,
[src]
impl<N> Joint<N> for FixedJoint<N> where
N: RealField,
[src]pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
pub fn update_jacobians(
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
[src]
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
pub fn jacobian(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn integrate(&mut self, &IntegrationParameters<N>, &[N])
[src]
pub fn apply_displacement(&mut self, &[N])
[src]
pub fn jacobian_mul_coordinates(&self, &[N]) -> Velocity2<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, &[N]) -> Velocity2<N>
[src]
pub fn default_damping(
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>
[src]
impl<N> Joint<N> for FreeJoint<N> where
N: RealField,
[src]
impl<N> Joint<N> for FreeJoint<N> where
N: RealField,
[src]pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
pub fn update_jacobians(
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
[src]
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
pub fn jacobian(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
pub fn apply_displacement(&mut self, disp: &[N])
[src]
pub fn jacobian_mul_coordinates(&self, vels: &[N]) -> Velocity2<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, &[N]) -> Velocity2<N>
[src]
pub fn default_damping(
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>
[src]
impl<N> Joint<N> for PrismaticJoint<N> where
N: RealField,
[src]
impl<N> Joint<N> for PrismaticJoint<N> where
N: RealField,
[src]pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
pub fn update_jacobians(
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
[src]
&mut self,
&Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
&[N]
)
pub fn jacobian(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
&Isometry<N, U2, Unit<Complex<N>>>,
&[N],
&mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn default_damping(
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
&mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
pub fn apply_displacement(&mut self, disp: &[N])
[src]
pub fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity2<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, &[N]) -> Velocity2<N>
[src]
pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>
[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, ()>>
impl<N> Joint<N> for RevoluteJoint<N> where
N: RealField,
[src]
impl<N> Joint<N> for RevoluteJoint<N> where
N: RealField,
[src]pub fn ndofs(&self) -> usize
[src]
pub fn body_to_parent(
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
[src]
&self,
parent_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>
) -> Isometry<N, U2, Unit<Complex<N>>>
pub fn update_jacobians(
&mut self,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
vels: &[N]
)
[src]
&mut self,
body_shift: &Matrix<N, U2, U1, <DefaultAllocator as Allocator<N, U2, U1>>::Buffer>,
vels: &[N]
)
pub fn jacobian(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn jacobian_dot_veldiff_mul_coordinates(
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
acc: &[N],
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
[src]
&self,
transform: &Isometry<N, U2, Unit<Complex<N>>>,
acc: &[N],
out: &mut Matrix<N, U3, Dynamic, SliceStorageMut<'_, N, U3, Dynamic, U1, U3>>
)
pub fn integrate(&mut self, parameters: &IntegrationParameters<N>, vels: &[N])
[src]
pub fn default_damping(
&self,
out: &mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
[src]
&self,
out: &mut Matrix<N, Dynamic, U1, SliceStorageMut<'_, N, Dynamic, U1, U1, Dynamic>>
)
pub fn apply_displacement(&mut self, disp: &[N])
[src]
pub fn jacobian_mul_coordinates(&self, acc: &[N]) -> Velocity2<N>
[src]
pub fn jacobian_dot_mul_coordinates(&self, acc: &[N]) -> Velocity2<N>
[src]
pub fn clone(&self) -> Box<dyn Joint<N> + 'static, Global>
[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, ()>>