diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-01-16 07:52:19 -0800 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-01-16 07:52:19 -0800 |
| commit | 4454a845e98b990abf3929ca46b59d0fca5a18ec (patch) | |
| tree | e4808725e872b7178ba81c3ac5475be3a04569ac /src/dynamics/solver/generic_velocity_constraint_element.rs | |
| parent | 0ccd15c4b1f57d6c85a1727a55ed991c835690f5 (diff) | |
| parent | 8213e92f146fab618a406e0f8fed8a15ebd9228c (diff) | |
| download | rapier-4454a845e98b990abf3929ca46b59d0fca5a18ec.tar.gz rapier-4454a845e98b990abf3929ca46b59d0fca5a18ec.tar.bz2 rapier-4454a845e98b990abf3929ca46b59d0fca5a18ec.zip | |
Merge pull request #276 from dimforge/lock-translation-axis
Allow locking individual translational axes
Diffstat (limited to 'src/dynamics/solver/generic_velocity_constraint_element.rs')
| -rw-r--r-- | src/dynamics/solver/generic_velocity_constraint_element.rs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/dynamics/solver/generic_velocity_constraint_element.rs b/src/dynamics/solver/generic_velocity_constraint_element.rs index 150be8b..c31bbfb 100644 --- a/src/dynamics/solver/generic_velocity_constraint_element.rs +++ b/src/dynamics/solver/generic_velocity_constraint_element.rs @@ -70,11 +70,11 @@ impl GenericRhs { dir: &Vector<Real>, gcross: &AngVector<Real>, mj_lambdas: &mut DVector<Real>, - inv_mass: Real, + inv_mass: &Vector<Real>, ) { match self { GenericRhs::DeltaVel(rhs) => { - rhs.linear += dir * (inv_mass * impulse); + rhs.linear += dir.component_mul(inv_mass) * impulse; rhs.angular += gcross * impulse; } GenericRhs::GenericId(mj_lambda) => { @@ -94,8 +94,8 @@ impl VelocityConstraintTangentPart<Real> { j_id: usize, jacobians: &DVector<Real>, tangents1: [&Vector<Real>; DIM - 1], - im1: Real, - im2: Real, + im1: &Vector<Real>, + im2: &Vector<Real>, ndofs1: usize, ndofs2: usize, limit: Real, @@ -246,8 +246,8 @@ impl VelocityConstraintNormalPart<Real> { j_id: usize, jacobians: &DVector<Real>, dir1: &Vector<Real>, - im1: Real, - im2: Real, + im1: &Vector<Real>, + im2: &Vector<Real>, ndofs1: usize, ndofs2: usize, mj_lambda1: &mut GenericRhs, @@ -296,8 +296,8 @@ impl VelocityConstraintElement<Real> { jacobians: &DVector<Real>, dir1: &Vector<Real>, #[cfg(feature = "dim3")] tangent1: &Vector<Real>, - im1: Real, - im2: Real, + im1: &Vector<Real>, + im2: &Vector<Real>, limit: Real, // ndofs is 0 for a non-multibody body, or a multibody with zero // degrees of freedom. |
