Refactor the parallel solver code the same way we did with the non-parallel solver.

This commit is contained in:
Crozet Sébastien
2021-01-04 17:59:51 +01:00
parent aa61fe65e3
commit c28b14d31c
14 changed files with 691 additions and 873 deletions

View File

@@ -318,18 +318,8 @@ impl SolverConstraints<AnyJointVelocityConstraint, AnyJointPositionConstraint> {
);
self.velocity_constraints.push(vel_constraint);
if let Some(pos_constraint) =
AnyJointPositionConstraint::from_wide_joint_ground(joints, bodies)
{
self.position_constraints.push(pos_constraint);
} else {
for joint in joints.iter() {
self.position_constraints
.push(AnyJointPositionConstraint::from_joint_ground(
*joint, bodies,
))
}
}
let pos_constraint = AnyJointPositionConstraint::from_wide_joint_ground(joints, bodies);
self.position_constraints.push(pos_constraint);
}
}
@@ -367,16 +357,8 @@ impl SolverConstraints<AnyJointVelocityConstraint, AnyJointPositionConstraint> {
AnyJointVelocityConstraint::from_wide_joint(params, joints_id, joints, bodies);
self.velocity_constraints.push(vel_constraint);
if let Some(pos_constraint) =
AnyJointPositionConstraint::from_wide_joint(joints, bodies)
{
self.position_constraints.push(pos_constraint);
} else {
for joint in joints.iter() {
self.position_constraints
.push(AnyJointPositionConstraint::from_joint(*joint, bodies))
}
}
let pos_constraint = AnyJointPositionConstraint::from_wide_joint(joints, bodies);
self.position_constraints.push(pos_constraint);
}
}
}