aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics
diff options
context:
space:
mode:
Diffstat (limited to 'src/dynamics')
-rw-r--r--src/dynamics/solver/joint_constraint/joint_position_constraint.rs18
-rw-r--r--src/dynamics/solver/parallel_position_solver.rs22
-rw-r--r--src/dynamics/solver/parallel_solver_constraints.rs12
-rw-r--r--src/dynamics/solver/parallel_velocity_solver.rs14
-rw-r--r--src/dynamics/solver/position_constraint.rs6
5 files changed, 12 insertions, 60 deletions
diff --git a/src/dynamics/solver/joint_constraint/joint_position_constraint.rs b/src/dynamics/solver/joint_constraint/joint_position_constraint.rs
index a50897b..97a81ba 100644
--- a/src/dynamics/solver/joint_constraint/joint_position_constraint.rs
+++ b/src/dynamics/solver/joint_constraint/joint_position_constraint.rs
@@ -50,24 +50,6 @@ pub(crate) enum AnyJointPositionConstraint {
}
impl AnyJointPositionConstraint {
- #[cfg(feature = "parallel")]
- pub fn num_active_constraints(joint: &Joint, grouped: bool) -> usize {
- #[cfg(feature = "simd-is-enabled")]
- if !grouped {
- 1
- } else {
- match &joint.params {
- JointParams::BallJoint(_) => 1,
- _ => SIMD_WIDTH, // For joints that don't support SIMD position constraints yet.
- }
- }
-
- #[cfg(not(feature = "simd-is-enabled"))]
- {
- 1
- }
- }
-
pub fn from_joint(joint: &Joint, bodies: &RigidBodySet) -> Self {
let rb1 = &bodies[joint.body1];
let rb2 = &bodies[joint.body2];
diff --git a/src/dynamics/solver/parallel_position_solver.rs b/src/dynamics/solver/parallel_position_solver.rs
index 67af3ea..ec480f5 100644
--- a/src/dynamics/solver/parallel_position_solver.rs
+++ b/src/dynamics/solver/parallel_position_solver.rs
@@ -1,29 +1,11 @@
-use super::ParallelInteractionGroups;
use super::{AnyJointPositionConstraint, AnyPositionConstraint, ThreadContext};
-use crate::dynamics::solver::categorization::categorize_joints;
use crate::dynamics::solver::{
- AnyJointVelocityConstraint, AnyVelocityConstraint, InteractionGroups,
- ParallelSolverConstraints, PositionConstraint, PositionGroundConstraint,
+ AnyJointVelocityConstraint, AnyVelocityConstraint, ParallelSolverConstraints,
};
-use crate::dynamics::{IntegrationParameters, JointGraphEdge, RigidBodySet};
-use crate::geometry::ContactManifold;
+use crate::dynamics::IntegrationParameters;
use crate::math::{Isometry, Real};
-#[cfg(feature = "simd-is-enabled")]
-use crate::{
- dynamics::solver::{WPositionConstraint, WPositionGroundConstraint},
- math::SIMD_WIDTH,
-};
use std::sync::atomic::Ordering;
-pub(crate) enum PositionConstraintDesc {
- NongroundNongrouped(usize),
- GroundNongrouped(usize),
- #[cfg(feature = "simd-is-enabled")]
- NongroundGrouped([usize; SIMD_WIDTH]),
- #[cfg(feature = "simd-is-enabled")]
- GroundGrouped([usize; SIMD_WIDTH]),
-}
-
pub(crate) struct ParallelPositionSolver;
impl ParallelPositionSolver {
diff --git a/src/dynamics/solver/parallel_solver_constraints.rs b/src/dynamics/solver/parallel_solver_constraints.rs
index fe144bb..fcdcbff 100644
--- a/src/dynamics/solver/parallel_solver_constraints.rs
+++ b/src/dynamics/solver/parallel_solver_constraints.rs
@@ -1,17 +1,19 @@
use super::ParallelInteractionGroups;
-use super::{AnyJointVelocityConstraint, AnyVelocityConstraint, DeltaVel, ThreadContext};
+use super::{AnyJointVelocityConstraint, AnyVelocityConstraint, ThreadContext};
use crate::dynamics::solver::categorization::{categorize_contacts, categorize_joints};
use crate::dynamics::solver::{
AnyJointPositionConstraint, AnyPositionConstraint, InteractionGroups, PositionConstraint,
- PositionGroundConstraint, VelocityConstraint, VelocityGroundConstraint, WPositionConstraint,
- WPositionGroundConstraint,
+ PositionGroundConstraint, VelocityConstraint, VelocityGroundConstraint,
};
use crate::dynamics::{IntegrationParameters, JointGraphEdge, RigidBodySet};
use crate::geometry::ContactManifold;
#[cfg(feature = "simd-is-enabled")]
use crate::{
- dynamics::solver::{WVelocityConstraint, WVelocityGroundConstraint},
- math::{Real, SIMD_WIDTH},
+ dynamics::solver::{
+ WPositionConstraint, WPositionGroundConstraint, WVelocityConstraint,
+ WVelocityGroundConstraint,
+ },
+ math::SIMD_WIDTH,
};
use std::sync::atomic::Ordering;
diff --git a/src/dynamics/solver/parallel_velocity_solver.rs b/src/dynamics/solver/parallel_velocity_solver.rs
index 9701547..824442c 100644
--- a/src/dynamics/solver/parallel_velocity_solver.rs
+++ b/src/dynamics/solver/parallel_velocity_solver.rs
@@ -1,18 +1,10 @@
-use super::ParallelInteractionGroups;
use super::{AnyJointVelocityConstraint, AnyVelocityConstraint, DeltaVel, ThreadContext};
-use crate::dynamics::solver::categorization::{categorize_contacts, categorize_joints};
-use crate::dynamics::solver::parallel_solver_constraints::ConstraintDesc;
use crate::dynamics::solver::{
- AnyJointPositionConstraint, AnyPositionConstraint, InteractionGroups,
- ParallelSolverConstraints, VelocityConstraint, VelocityGroundConstraint,
+ AnyJointPositionConstraint, AnyPositionConstraint, ParallelSolverConstraints,
};
-use crate::dynamics::{IntegrationParameters, JointGraphEdge, RigidBodySet};
+use crate::dynamics::{IntegrationParameters, JointGraphEdge};
use crate::geometry::ContactManifold;
-#[cfg(feature = "simd-is-enabled")]
-use crate::{
- dynamics::solver::{WVelocityConstraint, WVelocityGroundConstraint},
- math::{Real, SIMD_WIDTH},
-};
+use crate::math::Real;
use std::sync::atomic::Ordering;
pub(crate) struct ParallelVelocitySolver {}
diff --git a/src/dynamics/solver/position_constraint.rs b/src/dynamics/solver/position_constraint.rs
index f846989..844b1cd 100644
--- a/src/dynamics/solver/position_constraint.rs
+++ b/src/dynamics/solver/position_constraint.rs
@@ -51,12 +51,6 @@ pub(crate) struct PositionConstraint {
}
impl PositionConstraint {
- #[cfg(feature = "parallel")]
- pub fn num_active_constraints(manifold: &ContactManifold) -> usize {
- let rest = manifold.data.solver_contacts.len() % MAX_MANIFOLD_POINTS != 0;
- manifold.data.solver_contacts.len() / MAX_MANIFOLD_POINTS + rest as usize
- }
-
pub fn generate(
params: &IntegrationParameters,
manifold: &ContactManifold,