diff options
Diffstat (limited to 'src/dynamics/solver/island_solver.rs')
| -rw-r--r-- | src/dynamics/solver/island_solver.rs | 22 |
1 files changed, 5 insertions, 17 deletions
diff --git a/src/dynamics/solver/island_solver.rs b/src/dynamics/solver/island_solver.rs index 90c8d90..edd17f8 100644 --- a/src/dynamics/solver/island_solver.rs +++ b/src/dynamics/solver/island_solver.rs @@ -1,14 +1,10 @@ use super::VelocitySolver; use crate::counters::Counters; -use crate::data::{ComponentSet, ComponentSetMut}; use crate::dynamics::solver::{ AnyJointVelocityConstraint, AnyVelocityConstraint, SolverConstraints, }; -use crate::dynamics::{ - IntegrationParameters, JointGraphEdge, JointIndex, RigidBodyDamping, RigidBodyForces, - RigidBodyIds, RigidBodyMassProps, RigidBodyPosition, RigidBodyType, -}; -use crate::dynamics::{IslandManager, RigidBodyVelocity}; +use crate::dynamics::IslandManager; +use crate::dynamics::{IntegrationParameters, JointGraphEdge, JointIndex, RigidBodySet}; use crate::geometry::{ContactManifold, ContactManifoldIndex}; use crate::prelude::MultibodyJointSet; @@ -33,27 +29,19 @@ impl IslandSolver { } } - pub fn init_and_solve<Bodies>( + pub fn init_and_solve( &mut self, island_id: usize, counters: &mut Counters, params: &IntegrationParameters, islands: &IslandManager, - bodies: &mut Bodies, + bodies: &mut RigidBodySet, manifolds: &mut [&mut ContactManifold], manifold_indices: &[ContactManifoldIndex], impulse_joints: &mut [JointGraphEdge], joint_indices: &[JointIndex], multibody_joints: &mut MultibodyJointSet, - ) where - Bodies: ComponentSet<RigidBodyForces> - + ComponentSetMut<RigidBodyPosition> - + ComponentSetMut<RigidBodyVelocity> - + ComponentSetMut<RigidBodyMassProps> - + ComponentSet<RigidBodyDamping> - + ComponentSet<RigidBodyIds> - + ComponentSet<RigidBodyType>, - { + ) { // Init the solver id for multibody_joints. // We need that for building the constraints. let mut solver_id = 0; |
