From 2d9239fe5b3a077b717704754659a98472dff419 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Tue, 5 May 2020 10:46:31 -0600 Subject: [PATCH] When determining worst-case CP, only consider cases where the CP's weight is non-zero --- .../openrocket/aerodynamics/AbstractAerodynamicCalculator.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/aerodynamics/AbstractAerodynamicCalculator.java b/core/src/net/sf/openrocket/aerodynamics/AbstractAerodynamicCalculator.java index 1fb739407..978fd0900 100644 --- a/core/src/net/sf/openrocket/aerodynamics/AbstractAerodynamicCalculator.java +++ b/core/src/net/sf/openrocket/aerodynamics/AbstractAerodynamicCalculator.java @@ -4,6 +4,7 @@ import java.util.Map; import net.sf.openrocket.rocketcomponent.FlightConfiguration; import net.sf.openrocket.rocketcomponent.RocketComponent; +import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.Coordinate; @@ -62,7 +63,7 @@ public abstract class AbstractAerodynamicCalculator implements AerodynamicCalcul for (int i = 0; i < DIVISIONS; i++) { cond.setTheta(2 * Math.PI * i / DIVISIONS); cp = getCP(configuration, cond, warnings); - if (cp.x < worst.x) { + if ((cp.weight > MathUtil.EPSILON) && (cp.x < worst.x)) { worst = cp; theta = cond.getTheta(); }