Regenerate multiport geometry
authorBill Kuker <bkuker@billkuker.com>
Thu, 15 Sep 2011 16:29:55 +0000 (16:29 +0000)
committerBill Kuker <bkuker@billkuker.com>
Thu, 15 Sep 2011 16:29:55 +0000 (16:29 +0000)
add inhibit outside support

src/com/billkuker/rocketry/motorsim/grain/MultiPort.java

index b79ecdf63a94c167754c00b11316a908985c75e6..3307924971885e1a6046d8e86172fd8860349569 100644 (file)
@@ -21,6 +21,8 @@ import com.billkuker.rocketry.motorsim.visual.GrainPanel;
 \r
 public class MultiPort extends ExtrudedShapeGrain implements Validating {\r
 \r
+       private boolean inhibitOutside = true;\r
+\r
        private Amount<Length> oD = Amount.valueOf(30, SI.MILLIMETER);\r
 \r
        private Amount<Length> coreD = Amount.valueOf(3, SI.MILLIMETER);\r
@@ -64,7 +66,10 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
                xsection = new BurningShape();\r
                Shape outside = new Ellipse2D.Double(-odmm / 2, -odmm / 2, odmm, odmm);\r
                xsection.add(outside);\r
-               xsection.inhibit(outside);\r
+\r
+               if (isInhibitOutside())\r
+                       xsection.inhibit(outside);\r
+\r
                xsection.subtract(new Ellipse2D.Double(-cdmm / 2, -cdmm / 2, cdmm, cdmm));\r
                webThickness = null;\r
 \r
@@ -99,6 +104,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setoD(Amount<Length> oD) {\r
                this.oD = oD;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Length> getCoreD() {\r
@@ -107,6 +113,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setCoreD(Amount<Length> coreD) {\r
                this.coreD = coreD;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Length> getR1D() {\r
@@ -115,6 +122,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR1D(Amount<Length> r1d) {\r
                r1D = r1d;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Length> getR1Offset() {\r
@@ -123,6 +131,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR1Offset(Amount<Length> r1Offset) {\r
                this.r1Offset = r1Offset;\r
+               generateGeometry();\r
        }\r
 \r
        public int getR1Count() {\r
@@ -131,6 +140,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR1Count(int r1Count) {\r
                this.r1Count = r1Count;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Length> getR2D() {\r
@@ -139,6 +149,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR2D(Amount<Length> r2d) {\r
                r2D = r2d;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Length> getR2Offset() {\r
@@ -147,6 +158,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR2Offset(Amount<Length> r2Offset) {\r
                this.r2Offset = r2Offset;\r
+               generateGeometry();\r
        }\r
 \r
        public int getR2Count() {\r
@@ -155,6 +167,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setR2Count(int r2Count) {\r
                this.r2Count = r2Count;\r
+               generateGeometry();\r
        }\r
 \r
        public Amount<Angle> getRingTwoRot() {\r
@@ -163,5 +176,15 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating {
 \r
        public void setRingTwoRot(Amount<Angle> ringTwoRot) {\r
                this.ringTwoRot = ringTwoRot;\r
+               generateGeometry();\r
+       }\r
+\r
+       public boolean isInhibitOutside() {\r
+               return inhibitOutside;\r
+       }\r
+\r
+       public void setInhibitOutside(boolean inhibitOutside) {\r
+               this.inhibitOutside = inhibitOutside;\r
+               generateGeometry();\r
        }\r
 }\r