From d1fc90c150ff7ddd077f5770d4ac30108b5e6de5 Mon Sep 17 00:00:00 2001 From: Sébastien Crozet Date: Wed, 24 Jan 2024 21:57:54 +0100 Subject: feat: rework solver parameters to make it easy to recover the old behaviors --- src/dynamics/joint/rope_joint.rs | 9 +++++---- src/dynamics/joint/spring_joint.rs | 2 +- 2 files changed, 6 insertions(+), 5 deletions(-) (limited to 'src/dynamics/joint') diff --git a/src/dynamics/joint/rope_joint.rs b/src/dynamics/joint/rope_joint.rs index 44d4809..08c90e5 100644 --- a/src/dynamics/joint/rope_joint.rs +++ b/src/dynamics/joint/rope_joint.rs @@ -118,8 +118,11 @@ impl RopeJoint { /// The maximum distance allowed between the attached objects. #[must_use] - pub fn max_distance(&self) -> Option { - self.data.limits(JointAxis::X).map(|l| l.max) + pub fn max_distance(&self) -> Real { + self.data + .limits(JointAxis::X) + .map(|l| l.max) + .unwrap_or(Real::MAX) } /// Sets the maximum allowed distance between the attached objects. @@ -146,8 +149,6 @@ pub struct RopeJointBuilder(pub RopeJoint); impl RopeJointBuilder { /// Creates a new builder for rope joints. - /// - /// This axis is expressed in the local-space of both rigid-bodies. pub fn new(max_dist: Real) -> Self { Self(RopeJoint::new(max_dist)) } diff --git a/src/dynamics/joint/spring_joint.rs b/src/dynamics/joint/spring_joint.rs index 5427751..d9a849a 100644 --- a/src/dynamics/joint/spring_joint.rs +++ b/src/dynamics/joint/spring_joint.rs @@ -7,7 +7,7 @@ use crate::math::{Point, Real}; #[repr(transparent)] /// A spring-damper joint, applies a force proportional to the distance between two objects. /// -/// The spring is integrated implicitly, implying that an even undamped spring will still be subject to some +/// The spring is integrated implicitly, implying that even an undamped spring will be subject to some /// amount of numerical damping (so it will eventually come to a rest). More solver iterations, or smaller /// timesteps, will lower the effect of numerical damping, providing a more realistic result. pub struct SpringJoint { -- cgit