From: Bill Kuker Date: Tue, 14 Apr 2009 19:07:57 +0000 (+0000) Subject: Added end light delay X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=0a5f5797d502674e68a6fda67a9bf5f5017738d1;p=sw%2Fmotorsim Added end light delay --- 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() {