]> git.gag.com Git - sw/motorsim/commitdiff
Added end light delay
authorBill Kuker <bkuker@billkuker.com>
Tue, 14 Apr 2009 19:07:57 +0000 (19:07 +0000)
committerBill Kuker <bkuker@billkuker.com>
Tue, 14 Apr 2009 19:07:57 +0000 (19:07 +0000)
src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java

index 81b05634242ee1f8c0ba215758d5fb60f4ae9810..fb5bd5b627eaead3332e07470effad3a2342c174 100644 (file)
@@ -14,13 +14,18 @@ public abstract class ExtrudedGrain extends MotorPart implements Grain {
        private boolean foreEndInhibited = false;\r
        private boolean aftEndInhibited = false;\r
        private Amount<Length> length = Amount.valueOf(100, SI.MILLIMETER);\r
+       private Amount<Length> endLight = Amount.valueOf(0, SI.MILLIMETER);\r
        \r
-       protected int numberOfBurningEnds(){\r
+       protected int numberOfBurningEnds(Amount<Length> regression){\r
+               if ( regression.isLessThan(endLight) )\r
+                       return 0;\r
                return (foreEndInhibited?0:1) + (aftEndInhibited?0:1);\r
        }\r
        \r
        protected Amount<Length> regressedLength(Amount<Length> regression){\r
-               return length.minus(regression.times(numberOfBurningEnds()));\r
+               if ( regression.isLessThan(endLight) )\r
+                       return length;\r
+               return length.minus(regression.minus(endLight).times(numberOfBurningEnds(regression)));\r
        }\r
 \r
        public boolean isForeEndInhibited() {\r