aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/delta_vel.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2021-03-07 17:15:32 +0100
committerCrozet Sébastien <developer@crozet.re>2021-03-07 17:15:32 +0100
commit0e4393ba9e408952395cfccaef6dc192886e2839 (patch)
tree32b7bd0f0391ed02a5035774e5e6c0a9ab32719c /src/dynamics/solver/delta_vel.rs
parent4cb1f5c692f580483a7316c224380a6aaf74c679 (diff)
downloadrapier-0e4393ba9e408952395cfccaef6dc192886e2839.tar.gz
rapier-0e4393ba9e408952395cfccaef6dc192886e2839.tar.bz2
rapier-0e4393ba9e408952395cfccaef6dc192886e2839.zip
Reduce code duplication between the SIMD and non-SIMD contact solve and warmstart.
Diffstat (limited to 'src/dynamics/solver/delta_vel.rs')
-rw-r--r--src/dynamics/solver/delta_vel.rs8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/dynamics/solver/delta_vel.rs b/src/dynamics/solver/delta_vel.rs
index 378d302..b50cb76 100644
--- a/src/dynamics/solver/delta_vel.rs
+++ b/src/dynamics/solver/delta_vel.rs
@@ -1,5 +1,6 @@
use crate::math::{AngVector, Vector};
use na::{Scalar, SimdRealField};
+use std::ops::AddAssign;
#[derive(Copy, Clone, Debug)]
//#[repr(align(64))]
@@ -16,3 +17,10 @@ impl<N: SimdRealField> DeltaVel<N> {
}
}
}
+
+impl<N: SimdRealField> AddAssign for DeltaVel<N> {
+ fn add_assign(&mut self, rhs: Self) {
+ self.linear += rhs.linear;
+ self.angular += rhs.angular;
+ }
+}