diff options
| author | Crozet Sébastien <developer@crozet.re> | 2021-01-23 12:58:45 +0100 |
|---|---|---|
| committer | Crozet Sébastien <developer@crozet.re> | 2021-01-23 13:02:06 +0100 |
| commit | 00caa7ce353c02cfc22f0cc27f6361e968157953 (patch) | |
| tree | 6b76519a0362ee0ddac550396cea9195cfc117ed /src/dynamics | |
| parent | 57072f3ba7664933a031d6f5e332db7c183ec39c (diff) | |
| download | rapier-00caa7ce353c02cfc22f0cc27f6361e968157953.tar.gz rapier-00caa7ce353c02cfc22f0cc27f6361e968157953.tar.bz2 rapier-00caa7ce353c02cfc22f0cc27f6361e968157953.zip | |
Fix warnings and 2D compilation when parallelism is ON but SIMD is OFF.
Diffstat (limited to 'src/dynamics')
| -rw-r--r-- | src/dynamics/solver/joint_constraint/joint_position_constraint.rs | 18 | ||||
| -rw-r--r-- | src/dynamics/solver/parallel_position_solver.rs | 22 | ||||
| -rw-r--r-- | src/dynamics/solver/parallel_solver_constraints.rs | 12 | ||||
| -rw-r--r-- | src/dynamics/solver/parallel_velocity_solver.rs | 14 | ||||
| -rw-r--r-- | src/dynamics/solver/position_constraint.rs | 6 |
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, |
