aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/position_constraint.rs
diff options
context:
space:
mode:
authorCrozet Sébastien <developer@crozet.re>2020-12-31 11:16:03 +0100
committerCrozet Sébastien <developer@crozet.re>2020-12-31 11:16:03 +0100
commit967145a9492175be59e8db33299b1687d69d84e2 (patch)
tree8a1beb06349119a9df0983aa42ec59625c31c395 /src/dynamics/solver/position_constraint.rs
parent64507a68e179ebc652f177e727fac5ff1a82d931 (diff)
downloadrapier-967145a9492175be59e8db33299b1687d69d84e2.tar.gz
rapier-967145a9492175be59e8db33299b1687d69d84e2.tar.bz2
rapier-967145a9492175be59e8db33299b1687d69d84e2.zip
Perform contact sorting in the narrow-phase directly.
Diffstat (limited to 'src/dynamics/solver/position_constraint.rs')
-rw-r--r--src/dynamics/solver/position_constraint.rs8
1 files changed, 6 insertions, 2 deletions
diff --git a/src/dynamics/solver/position_constraint.rs b/src/dynamics/solver/position_constraint.rs
index 1ef0660..843fd1a 100644
--- a/src/dynamics/solver/position_constraint.rs
+++ b/src/dynamics/solver/position_constraint.rs
@@ -66,9 +66,13 @@ impl PositionConstraint {
) {
let rb1 = &bodies[manifold.data.body_pair.body1];
let rb2 = &bodies[manifold.data.body_pair.body2];
- let active_contacts = &manifold.data.solver_contacts[..manifold.num_active_contacts];
- for (l, manifold_points) in active_contacts.chunks(MAX_MANIFOLD_POINTS).enumerate() {
+ for (l, manifold_points) in manifold
+ .data
+ .solver_contacts
+ .chunks(MAX_MANIFOLD_POINTS)
+ .enumerate()
+ {
let mut local_p1 = [Point::origin(); MAX_MANIFOLD_POINTS];
let mut local_p2 = [Point::origin(); MAX_MANIFOLD_POINTS];
let mut dists = [0.0; MAX_MANIFOLD_POINTS];