aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics/solver/generic_velocity_ground_constraint.rs
diff options
context:
space:
mode:
authorSébastien Crozet <developer@crozet.re>2022-02-27 22:04:51 +0100
committerSébastien Crozet <sebastien@crozet.re>2022-03-20 21:49:16 +0100
commit2e6f133b95b614f13445722e54f28105d9664841 (patch)
tree364ce4cb1b73614fca0bd8f443385c73e7a64026 /src/dynamics/solver/generic_velocity_ground_constraint.rs
parent28cc19d104d986db54d8725e68189070bef31a8a (diff)
downloadrapier-2e6f133b95b614f13445722e54f28105d9664841.tar.gz
rapier-2e6f133b95b614f13445722e54f28105d9664841.tar.bz2
rapier-2e6f133b95b614f13445722e54f28105d9664841.zip
Second round to fix the parallel solver.
Diffstat (limited to 'src/dynamics/solver/generic_velocity_ground_constraint.rs')
-rw-r--r--src/dynamics/solver/generic_velocity_ground_constraint.rs13
1 files changed, 7 insertions, 6 deletions
diff --git a/src/dynamics/solver/generic_velocity_ground_constraint.rs b/src/dynamics/solver/generic_velocity_ground_constraint.rs
index 336954b..b2e5878 100644
--- a/src/dynamics/solver/generic_velocity_ground_constraint.rs
+++ b/src/dynamics/solver/generic_velocity_ground_constraint.rs
@@ -8,8 +8,9 @@ use crate::geometry::{ContactManifold, ContactManifoldIndex};
use crate::math::{Point, Real, DIM, MAX_MANIFOLD_POINTS};
use crate::utils::WCross;
-use super::{VelocityGroundConstraintElement, VelocityGroundConstraintNormalPart};
-use crate::dynamics::solver::AnyGenericVelocityConstraint;
+use super::{
+ AnyVelocityConstraint, VelocityGroundConstraintElement, VelocityGroundConstraintNormalPart,
+};
#[cfg(feature = "dim2")]
use crate::utils::WBasis;
use na::DVector;
@@ -30,7 +31,7 @@ impl GenericVelocityGroundConstraint {
manifold: &ContactManifold,
bodies: &Bodies,
multibodies: &MultibodyJointSet,
- out_constraints: &mut Vec<AnyGenericVelocityConstraint>,
+ out_constraints: &mut Vec<AnyVelocityConstraint>,
jacobians: &mut DVector<Real>,
jacobian_id: &mut usize,
push: bool,
@@ -145,7 +146,7 @@ impl GenericVelocityGroundConstraint {
let mut rhs_wo_bias = (1.0 + is_bouncy * manifold_point.restitution)
* (vel1 - vel2).dot(&force_dir1);
rhs_wo_bias += manifold_point.dist.max(0.0) * inv_dt;
- rhs_wo_bias *= is_bouncy + is_resting ;
+ rhs_wo_bias *= is_bouncy + is_resting;
let rhs_bias =
/* is_resting * */ erp_inv_dt * manifold_point.dist.min(0.0);
@@ -200,10 +201,10 @@ impl GenericVelocityGroundConstraint {
};
if push {
- out_constraints.push(AnyGenericVelocityConstraint::NongroupedGround(constraint));
+ out_constraints.push(AnyVelocityConstraint::NongroupedGenericGround(constraint));
} else {
out_constraints[manifold.data.constraint_index + _l] =
- AnyGenericVelocityConstraint::NongroupedGround(constraint);
+ AnyVelocityConstraint::NongroupedGenericGround(constraint);
}
}
}