From 0a5f5797d502674e68a6fda67a9bf5f5017738d1 Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Tue, 14 Apr 2009 19:07:57 +0000 Subject: [PATCH] Added end light delay --- .../billkuker/rocketry/motorsim/grain/ExtrudedGrain.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java b/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java index 81b0563..fb5bd5b 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java +++ b/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java @@ -14,13 +14,18 @@ public abstract class ExtrudedGrain extends MotorPart implements Grain { private boolean foreEndInhibited = false; private boolean aftEndInhibited = false; private Amount length = Amount.valueOf(100, SI.MILLIMETER); + private Amount endLight = Amount.valueOf(0, SI.MILLIMETER); - protected int numberOfBurningEnds(){ + protected int numberOfBurningEnds(Amount regression){ + if ( regression.isLessThan(endLight) ) + return 0; return (foreEndInhibited?0:1) + (aftEndInhibited?0:1); } protected Amount regressedLength(Amount regression){ - return length.minus(regression.times(numberOfBurningEnds())); + if ( regression.isLessThan(endLight) ) + return length; + return length.minus(regression.minus(endLight).times(numberOfBurningEnds(regression))); } public boolean isForeEndInhibited() { -- 2.47.2