aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-01-02 18:05:50 +0100
committerGitHub <noreply@github.com>2022-01-02 18:05:50 +0100
commit1308db89948bc62fb865b32f832f19268f23dd23 (patch)
treeb3d8b0cbb6d2e75aa8fc7686e9cb8801527a31b8 /src/dynamics/solver/joint_constraint/generic_position_constraint_wide.rs
parent8e7da5ad45d180b0d3fa2bde37f8f3771b153b70 (diff)
parent9f9d3293605fa84555c08bec5efe68a71cd18432 (diff)
downloadrapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.gz
rapier-1308db89948bc62fb865b32f832f19268f23dd23.tar.bz2
rapier-1308db89948bc62fb865b32f832f19268f23dd23.zip
Merge pull request #267 from dimforge/multibody
Implement multibody joints, and new velocity-based constraints solver
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.rs60
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);
- }
- }
-}