diff options
| author | Sébastien Crozet <developer@crozet.re> | 2022-04-20 12:29:57 +0200 |
|---|---|---|
| committer | Sébastien Crozet <sebastien@crozet.re> | 2022-04-20 19:02:49 +0200 |
| commit | f108520b5a110cf59864abac7ac6a37e2b5a1dd9 (patch) | |
| tree | 3ed03fbce2128e5eb04ca29d25b42717987eb424 /src/dynamics/solver/velocity_constraint.rs | |
| parent | 2b1374c596957ac8cabe085859be3b823a1ba0c6 (diff) | |
| download | rapier-f108520b5a110cf59864abac7ac6a37e2b5a1dd9.tar.gz rapier-f108520b5a110cf59864abac7ac6a37e2b5a1dd9.tar.bz2 rapier-f108520b5a110cf59864abac7ac6a37e2b5a1dd9.zip | |
Finalize refactoring
Diffstat (limited to 'src/dynamics/solver/velocity_constraint.rs')
| -rw-r--r-- | src/dynamics/solver/velocity_constraint.rs | 17 |
1 files changed, 8 insertions, 9 deletions
diff --git a/src/dynamics/solver/velocity_constraint.rs b/src/dynamics/solver/velocity_constraint.rs index c854136..23d4b97 100644 --- a/src/dynamics/solver/velocity_constraint.rs +++ b/src/dynamics/solver/velocity_constraint.rs @@ -3,9 +3,7 @@ use crate::dynamics::solver::{ }; #[cfg(feature = "simd-is-enabled")] use crate::dynamics::solver::{WVelocityConstraint, WVelocityGroundConstraint}; -use crate::dynamics::{ - IntegrationParameters, RigidBodyIds, RigidBodyMassProps, RigidBodySet, RigidBodyVelocity, -}; +use crate::dynamics::{IntegrationParameters, RigidBodySet}; use crate::geometry::{ContactManifold, ContactManifoldIndex}; use crate::math::{Real, Vector, DIM, MAX_MANIFOLD_POINTS}; use crate::utils::{self, WAngularInertia, WBasis, WCross, WDot}; @@ -160,13 +158,14 @@ impl VelocityConstraint { let handle1 = manifold.data.rigid_body1.unwrap(); let handle2 = manifold.data.rigid_body2.unwrap(); - let (ids1, vels1, mprops1): (&RigidBodyIds, &RigidBodyVelocity, &RigidBodyMassProps) = - bodies.index_bundle(handle1.0); - let (ids2, vels2, mprops2): (&RigidBodyIds, &RigidBodyVelocity, &RigidBodyMassProps) = - bodies.index_bundle(handle2.0); - let mj_lambda1 = ids1.active_set_offset; - let mj_lambda2 = ids2.active_set_offset; + let rb1 = &bodies[handle1]; + let (vels1, mprops1) = (&rb1.vels, &rb1.mprops); + let rb2 = &bodies[handle2]; + let (vels2, mprops2) = (&rb2.vels, &rb2.mprops); + + let mj_lambda1 = rb1.ids.active_set_offset; + let mj_lambda2 = rb2.ids.active_set_offset; let force_dir1 = -manifold.data.normal; #[cfg(feature = "dim2")] |
