diff options
Diffstat (limited to 'src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs')
| -rw-r--r-- | src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs | 60 |
1 files changed, 0 insertions, 60 deletions
diff --git a/src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs b/src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs deleted file mode 100644 index d44c761..0000000 --- a/src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs +++ /dev/null @@ -1,60 +0,0 @@ -use super::{GenericPositionConstraint, GenericPositionGroundConstraint}; -use crate::dynamics::{GenericJoint, IntegrationParameters, RigidBody}; -use crate::math::{Isometry, Real, SIMD_WIDTH}; - -// TODO: this does not uses SIMD optimizations yet. -#[derive(Debug)] -pub(crate) struct WGenericPositionConstraint { - constraints: [GenericPositionConstraint; SIMD_WIDTH], -} - -impl WGenericPositionConstraint { - pub fn from_params( - rbs1: [&RigidBody; SIMD_WIDTH], - rbs2: [&RigidBody; SIMD_WIDTH], - cparams: [&GenericJoint; SIMD_WIDTH], - ) -> Self { - Self { - constraints: gather![|ii| GenericPositionConstraint::from_params( - rbs1[ii], - rbs2[ii], - cparams[ii] - )], - } - } - - pub fn solve(&self, params: &IntegrationParameters, positions: &mut [Isometry<Real>]) { - for constraint in &self.constraints { - constraint.solve(params, positions); - } - } -} - -#[derive(Debug)] -pub(crate) struct WGenericPositionGroundConstraint { - constraints: [GenericPositionGroundConstraint; SIMD_WIDTH], -} - -impl WGenericPositionGroundConstraint { - pub fn from_params( - rbs1: [&RigidBody; SIMD_WIDTH], - rbs2: [&RigidBody; SIMD_WIDTH], - cparams: [&GenericJoint; SIMD_WIDTH], - flipped: [bool; SIMD_WIDTH], - ) -> Self { - Self { - constraints: gather![|ii| GenericPositionGroundConstraint::from_params( - rbs1[ii], - rbs2[ii], - cparams[ii], - flipped[ii] - )], - } - } - - pub fn solve(&self, params: &IntegrationParameters, positions: &mut [Isometry<Real>]) { - for constraint in &self.constraints { - constraint.solve(params, positions); - } - } -} |
