X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=src%2Fcom%2Fbillkuker%2Frocketry%2Fmotorsim%2Fgrain%2FMultiPort.java;h=3307924971885e1a6046d8e86172fd8860349569;hb=59d121fe773fc986ea7b00fe8485e5068fc86f0f;hp=b79ecdf63a94c167754c00b11316a908985c75e6;hpb=638524b8a20d76af629e77c52eca416a7aaca602;p=sw%2Fmotorsim diff --git a/src/com/billkuker/rocketry/motorsim/grain/MultiPort.java b/src/com/billkuker/rocketry/motorsim/grain/MultiPort.java index b79ecdf..3307924 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/MultiPort.java +++ b/src/com/billkuker/rocketry/motorsim/grain/MultiPort.java @@ -21,6 +21,8 @@ import com.billkuker.rocketry.motorsim.visual.GrainPanel; public class MultiPort extends ExtrudedShapeGrain implements Validating { + private boolean inhibitOutside = true; + private Amount oD = Amount.valueOf(30, SI.MILLIMETER); private Amount coreD = Amount.valueOf(3, SI.MILLIMETER); @@ -64,7 +66,10 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { xsection = new BurningShape(); Shape outside = new Ellipse2D.Double(-odmm / 2, -odmm / 2, odmm, odmm); xsection.add(outside); - xsection.inhibit(outside); + + if (isInhibitOutside()) + xsection.inhibit(outside); + xsection.subtract(new Ellipse2D.Double(-cdmm / 2, -cdmm / 2, cdmm, cdmm)); webThickness = null; @@ -99,6 +104,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setoD(Amount oD) { this.oD = oD; + generateGeometry(); } public Amount getCoreD() { @@ -107,6 +113,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setCoreD(Amount coreD) { this.coreD = coreD; + generateGeometry(); } public Amount getR1D() { @@ -115,6 +122,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR1D(Amount r1d) { r1D = r1d; + generateGeometry(); } public Amount getR1Offset() { @@ -123,6 +131,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR1Offset(Amount r1Offset) { this.r1Offset = r1Offset; + generateGeometry(); } public int getR1Count() { @@ -131,6 +140,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR1Count(int r1Count) { this.r1Count = r1Count; + generateGeometry(); } public Amount getR2D() { @@ -139,6 +149,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR2D(Amount r2d) { r2D = r2d; + generateGeometry(); } public Amount getR2Offset() { @@ -147,6 +158,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR2Offset(Amount r2Offset) { this.r2Offset = r2Offset; + generateGeometry(); } public int getR2Count() { @@ -155,6 +167,7 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setR2Count(int r2Count) { this.r2Count = r2Count; + generateGeometry(); } public Amount getRingTwoRot() { @@ -163,5 +176,15 @@ public class MultiPort extends ExtrudedShapeGrain implements Validating { public void setRingTwoRot(Amount ringTwoRot) { this.ringTwoRot = ringTwoRot; + generateGeometry(); + } + + public boolean isInhibitOutside() { + return inhibitOutside; + } + + public void setInhibitOutside(boolean inhibitOutside) { + this.inhibitOutside = inhibitOutside; + generateGeometry(); } }