Attempt to combine the position constraints initialization with the velocity constraints initialization.

This commit is contained in:
Crozet Sébastien
2020-12-30 12:03:25 +01:00
parent 5876a262da
commit 7545e06cb1
4 changed files with 39 additions and 74 deletions

View File

@@ -5,9 +5,7 @@ pub(crate) fn categorize_position_contacts(
bodies: &RigidBodySet,
manifolds: &[&mut ContactManifold],
manifold_indices: &[ContactManifoldIndex],
out_point_point_ground: &mut Vec<ContactManifoldIndex>,
out_plane_point_ground: &mut Vec<ContactManifoldIndex>,
out_point_point: &mut Vec<ContactManifoldIndex>,
out_plane_point: &mut Vec<ContactManifoldIndex>,
) {
for manifold_i in manifold_indices {
@@ -16,15 +14,9 @@ pub(crate) fn categorize_position_contacts(
let rb2 = &bodies[manifold.data.body_pair.body2];
if !rb1.is_dynamic() || !rb2.is_dynamic() {
match manifold.kinematics.category {
KinematicsCategory::PointPoint => out_point_point_ground.push(*manifold_i),
KinematicsCategory::PlanePoint => out_plane_point_ground.push(*manifold_i),
}
out_plane_point_ground.push(*manifold_i)
} else {
match manifold.kinematics.category {
KinematicsCategory::PointPoint => out_point_point.push(*manifold_i),
KinematicsCategory::PlanePoint => out_plane_point.push(*manifold_i),
}
out_plane_point.push(*manifold_i)
}
}
}