aboutsummaryrefslogtreecommitdiff
path: root/src/dynamics
diff options
context:
space:
mode:
authorSébastien Crozet <sebcrozet@dimforge.com>2024-04-28 18:23:30 +0200
committerSébastien Crozet <sebastien@crozet.re>2024-04-30 23:10:46 +0200
commit0a9153e273dc0bdd4ba6443bd7f4dcfc671faac3 (patch)
tree08433a2e846051726d577cbf67e3fb932e446bc5 /src/dynamics
parent929aa6b9259b95d48cf6a84df40486132b21f088 (diff)
downloadrapier-0a9153e273dc0bdd4ba6443bd7f4dcfc671faac3.tar.gz
rapier-0a9153e273dc0bdd4ba6443bd7f4dcfc671faac3.tar.bz2
rapier-0a9153e273dc0bdd4ba6443bd7f4dcfc671faac3.zip
chore: clippy fixes
Diffstat (limited to 'src/dynamics')
-rw-r--r--src/dynamics/integration_parameters.rs10
-rw-r--r--src/dynamics/solver/contact_constraint/one_body_constraint.rs2
-rw-r--r--src/dynamics/solver/contact_constraint/two_body_constraint.rs1
-rw-r--r--src/dynamics/solver/contact_constraint/two_body_constraint_element.rs6
-rw-r--r--src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs1
-rw-r--r--src/dynamics/solver/velocity_solver.rs1
6 files changed, 12 insertions, 9 deletions
diff --git a/src/dynamics/integration_parameters.rs b/src/dynamics/integration_parameters.rs
index b883b0e..8b2ba3b 100644
--- a/src/dynamics/integration_parameters.rs
+++ b/src/dynamics/integration_parameters.rs
@@ -178,10 +178,16 @@ impl IntegrationParameters {
* self.joint_damping_ratio)
}
+ /// Amount of penetration the engine won’t attempt to correct (default: `0.001` multiplied by
+ /// [`Self::length_unit`]).
pub fn allowed_linear_error(&self) -> Real {
self.normalized_allowed_linear_error * self.length_unit
}
+ /// Maximum amount of penetration the solver will attempt to resolve in one timestep.
+ ///
+ /// This is equal to [`Self::normalized_max_penetration_correction`] multiplied by
+ /// [`Self::length_unit`].
pub fn max_penetration_correction(&self) -> Real {
if self.normalized_max_penetration_correction != Real::MAX {
self.normalized_max_penetration_correction * self.length_unit
@@ -190,11 +196,13 @@ impl IntegrationParameters {
}
}
+ /// The maximal distance separating two objects that will generate predictive contacts
+ /// (default: `0.002m` multiped by [`Self::length_unit`]).
pub fn prediction_distance(&self) -> Real {
self.normalized_prediction_distance * self.length_unit
}
- /// Initialize the simulation paramaters with settings matching the TGS-soft solver
+ /// Initialize the simulation parameters with settings matching the TGS-soft solver
/// with warmstarting.
///
/// This is the default configuration, equivalent to [`IntegrationParameters::default()`].
diff --git a/src/dynamics/solver/contact_constraint/one_body_constraint.rs b/src/dynamics/solver/contact_constraint/one_body_constraint.rs
index 2392493..1243d11 100644
--- a/src/dynamics/solver/contact_constraint/one_body_constraint.rs
+++ b/src/dynamics/solver/contact_constraint/one_body_constraint.rs
@@ -128,7 +128,7 @@ impl OneBodyConstraintBuilder {
// Normal part.
let normal_rhs_wo_bias;
{
- let mut gcross2 = mprops2
+ let gcross2 = mprops2
.effective_world_inv_inertia_sqrt
.transform_vector(dp2.gcross(-force_dir1));
diff --git a/src/dynamics/solver/contact_constraint/two_body_constraint.rs b/src/dynamics/solver/contact_constraint/two_body_constraint.rs
index 39f4931..1511d4f 100644
--- a/src/dynamics/solver/contact_constraint/two_body_constraint.rs
+++ b/src/dynamics/solver/contact_constraint/two_body_constraint.rs
@@ -8,7 +8,6 @@ use crate::geometry::{ContactManifold, ContactManifoldIndex};
use crate::math::{Isometry, Real, Vector, DIM, MAX_MANIFOLD_POINTS};
use crate::utils::{self, SimdAngularInertia, SimdBasis, SimdCross, SimdDot};
use na::{DVector, Matrix2};
-use num::Pow;
use super::{TwoBodyConstraintElement, TwoBodyConstraintNormalPart};
diff --git a/src/dynamics/solver/contact_constraint/two_body_constraint_element.rs b/src/dynamics/solver/contact_constraint/two_body_constraint_element.rs
index 7e17e73..b794833 100644
--- a/src/dynamics/solver/contact_constraint/two_body_constraint_element.rs
+++ b/src/dynamics/solver/contact_constraint/two_body_constraint_element.rs
@@ -1,11 +1,9 @@
use crate::dynamics::integration_parameters::BLOCK_SOLVER_ENABLED;
-use crate::dynamics::solver::contact_constraint::OneBodyConstraintNormalPart;
use crate::dynamics::solver::SolverVel;
use crate::math::{AngVector, TangentImpulse, Vector, DIM};
use crate::utils::{SimdBasis, SimdDot, SimdRealCopy};
-use na::{Matrix2, Vector2};
-use num::Zero;
-use simba::simd::{SimdPartialOrd, SimdValue};
+use na::Vector2;
+use simba::simd::SimdValue;
#[derive(Copy, Clone, Debug)]
pub(crate) struct TwoBodyConstraintTangentPart<N: SimdRealCopy> {
diff --git a/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs b/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
index 0b1b419..4c4ef52 100644
--- a/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
+++ b/src/dynamics/solver/contact_constraint/two_body_constraint_simd.rs
@@ -14,7 +14,6 @@ use crate::math::{
#[cfg(feature = "dim2")]
use crate::utils::SimdBasis;
use crate::utils::{self, SimdAngularInertia, SimdCross, SimdDot};
-use na::Matrix2;
use num::Zero;
use parry::math::SimdBool;
use parry::utils::SdpMatrix2;
diff --git a/src/dynamics/solver/velocity_solver.rs b/src/dynamics/solver/velocity_solver.rs
index 7ea48ab..b0bafb8 100644
--- a/src/dynamics/solver/velocity_solver.rs
+++ b/src/dynamics/solver/velocity_solver.rs
@@ -10,7 +10,6 @@ use crate::math::Real;
use crate::prelude::RigidBodyVelocity;
use crate::utils::SimdAngularInertia;
use na::DVector;
-use ordered_float::OrderedFloat;
pub(crate) struct VelocitySolver {
pub solver_bodies: Vec<SolverBody>,