From 564a6f153d37e3d25b69f6fabea9c5f4a3683013 Mon Sep 17 00:00:00 2001 From: Bill Kuker Date: Sun, 12 Apr 2009 02:33:38 +0000 Subject: [PATCH] Started adding beanish stuff - property listeners and such, first stab at a generic editor. --- .classpath | 1 + l2fprod-common-sheet.jar | Bin 0 -> 208975 bytes src/Test.java | 16 -- src/com/billkuker/rocketry/motorsim/Burn.java | 2 +- .../motorsim/ConvergentDivergentNozzle.java | 46 ++++- .../rocketry/motorsim/MotorPart.java | 131 ++++++++++++++ .../billkuker/rocketry/motorsim/Nozzle.java | 5 + .../motorsim/grain/CoredCylindricalGrain.java | 112 +++++++++--- .../motorsim/grain/ExtrudedGrain.java | 1 + .../test/CoredCylindricalGrainTest.java | 14 +- .../motorsim/validation/Validating.java | 5 - .../validation/ValidationException.java | 12 -- .../motorsim/{grain => visual}/BurnPanel.java | 3 +- .../rocketry/motorsim/visual/Chart.java | 3 + .../rocketry/motorsim/visual/Editor.java | 164 ++++++++++++++++++ .../{grain => visual}/GrainPanel.java | 18 +- .../rocketry/motorsim/visual/NozzlePanel.java | 79 +++++++++ 17 files changed, 538 insertions(+), 74 deletions(-) create mode 100644 l2fprod-common-sheet.jar delete mode 100644 src/Test.java create mode 100644 src/com/billkuker/rocketry/motorsim/MotorPart.java delete mode 100644 src/com/billkuker/rocketry/motorsim/validation/Validating.java delete mode 100644 src/com/billkuker/rocketry/motorsim/validation/ValidationException.java rename src/com/billkuker/rocketry/motorsim/{grain => visual}/BurnPanel.java (93%) create mode 100644 src/com/billkuker/rocketry/motorsim/visual/Editor.java rename src/com/billkuker/rocketry/motorsim/{grain => visual}/GrainPanel.java (86%) create mode 100644 src/com/billkuker/rocketry/motorsim/visual/NozzlePanel.java diff --git a/.classpath b/.classpath index dadcce8..7b7173f 100644 --- a/.classpath +++ b/.classpath @@ -6,6 +6,7 @@ + diff --git a/l2fprod-common-sheet.jar b/l2fprod-common-sheet.jar new file mode 100644 index 0000000000000000000000000000000000000000..c6a0e46244a7283963bee57116b2cdcf83908983 GIT binary patch literal 208975 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 literal 0 HcmV?d00001 diff --git a/src/Test.java b/src/Test.java deleted file mode 100644 index f46a3c7..0000000 --- a/src/Test.java +++ /dev/null @@ -1,16 +0,0 @@ -import javax.measure.quantity.Dimensionless; -import javax.measure.quantity.Length; -import javax.measure.unit.SI; - -import org.jscience.physics.amount.Amount; - - -public class Test { - public static void main(String args[]){ - Amount l = (Amount)Amount.valueOf(1, SI.METER); - System.out.println(l.divide(l).to(Dimensionless.UNIT)); - Amount m = (Amount)Amount.valueOf(1, 10000000000000000.0, SI.METER); - System.out.println(m); - - } -} diff --git a/src/com/billkuker/rocketry/motorsim/Burn.java b/src/com/billkuker/rocketry/motorsim/Burn.java index 5180465..64f8b53 100644 --- a/src/com/billkuker/rocketry/motorsim/Burn.java +++ b/src/com/billkuker/rocketry/motorsim/Burn.java @@ -24,10 +24,10 @@ import org.jscience.physics.amount.Amount; import org.jscience.physics.amount.Constants; import com.billkuker.rocketry.motorsim.fuel.KNSU; -import com.billkuker.rocketry.motorsim.grain.BurnPanel; import com.billkuker.rocketry.motorsim.grain.CompoundGrain; import com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain; import com.billkuker.rocketry.motorsim.grain.MultiGrain; +import com.billkuker.rocketry.motorsim.visual.BurnPanel; public class Burn { diff --git a/src/com/billkuker/rocketry/motorsim/ConvergentDivergentNozzle.java b/src/com/billkuker/rocketry/motorsim/ConvergentDivergentNozzle.java index c9978ed..09e0598 100644 --- a/src/com/billkuker/rocketry/motorsim/ConvergentDivergentNozzle.java +++ b/src/com/billkuker/rocketry/motorsim/ConvergentDivergentNozzle.java @@ -1,14 +1,21 @@ package com.billkuker.rocketry.motorsim; +import java.awt.Shape; +import java.awt.geom.AffineTransform; +import java.awt.geom.Ellipse2D; +import java.awt.geom.GeneralPath; +import java.awt.geom.Line2D; + import javax.measure.quantity.Area; import javax.measure.quantity.Dimensionless; import javax.measure.quantity.Force; import javax.measure.quantity.Length; import javax.measure.quantity.Pressure; +import javax.measure.unit.SI; import org.jscience.physics.amount.Amount; -public class ConvergentDivergentNozzle implements Nozzle { +public class ConvergentDivergentNozzle extends MotorPart implements Nozzle { private Amount throatDiameter; @@ -33,7 +40,11 @@ public class ConvergentDivergentNozzle implements Nozzle { public void setThroatDiameter(Amount throatDiameter) { + if ( exitDiameter != null && throatDiameter.isGreaterThan(exitDiameter)) + throw new IllegalArgumentException("Throat > Exit"); + Amount old = this.throatDiameter; this.throatDiameter = throatDiameter; + firePropertyChange("throatDiameter", old, throatDiameter); } @@ -43,7 +54,11 @@ public class ConvergentDivergentNozzle implements Nozzle { public void setExitDiameter(Amount exitDiameter) { + if ( throatDiameter != null && exitDiameter.isLessThan(throatDiameter)) + throw new IllegalArgumentException("Throat > Exit"); + Amount old = this.exitDiameter; this.exitDiameter = exitDiameter; + firePropertyChange("exitDiameter", old, exitDiameter); } @Override @@ -75,8 +90,35 @@ public class ConvergentDivergentNozzle implements Nozzle { } public void setEfficiency(double efficiency) { + double old = this.efficiency; this.efficiency = efficiency; + firePropertyChange("efficiency", old, efficiency); } - + public Shape nozzleShape(Amount chamberDiameter){ + GeneralPath s = new GeneralPath(); + double throatR = throatDiameter.divide(2).doubleValue(SI.MILLIMETER); + double exitR = exitDiameter.divide(2).doubleValue(SI.MILLIMETER); + double cR; + if (chamberDiameter == null) + cR = exitR; + else + cR = chamberDiameter.divide(2).doubleValue(SI.MILLIMETER); + + double diff = exitR-throatR; + double cDiff = cR-throatR; + + s.append(new Line2D.Double(0,0,diff,diff*3), false); + s.append(new Line2D.Double(0,0,cDiff,-cDiff), true); + + s.transform(AffineTransform.getScaleInstance(-1, 1)); + s.transform(AffineTransform.getTranslateInstance(-throatR, 0)); + + s.append(new Line2D.Double(0,0,diff,diff*3), false); + s.append(new Line2D.Double(0,0,cDiff,-cDiff), true); + + //a.add(new java.awt.geom.Area( new Ellipse2D.Double(0,0,5,5))); + + return s; + } } diff --git a/src/com/billkuker/rocketry/motorsim/MotorPart.java b/src/com/billkuker/rocketry/motorsim/MotorPart.java new file mode 100644 index 0000000..0e6ea80 --- /dev/null +++ b/src/com/billkuker/rocketry/motorsim/MotorPart.java @@ -0,0 +1,131 @@ +package com.billkuker.rocketry.motorsim; + +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.beans.PropertyChangeSupport; +import java.beans.PropertyDescriptor; +import java.beans.PropertyVetoException; +import java.beans.VetoableChangeListener; +import java.beans.VetoableChangeSupport; +import java.lang.reflect.Field; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; + +import javax.measure.quantity.Quantity; +import javax.measure.unit.Unit; + +import org.jscience.physics.amount.Amount; + +public class MotorPart { + PropertyChangeSupport pcs; + VetoableChangeSupport vcs; + + public interface Validating { + void checkValidity() throws ValidationException; + + public class ValidationException extends Exception { + private static final long serialVersionUID = 1L; + public ValidationException(Validating v, String error) { + super(v.toString() + ": " + error); + } + } + } + + public MotorPart() { + pcs = new PropertyChangeSupport(this); + vcs = new VetoableChangeSupport(this); + + vcs.addVetoableChangeListener(new VetoableChangeListener(){ + @Override + public void vetoableChange(PropertyChangeEvent evt) throws PropertyVetoException { + if ( evt.getNewValue() instanceof Amount ){ + try { + BeanInfo b = Introspector.getBeanInfo(evt.getSource().getClass()); + PropertyDescriptor ps[] = b.getPropertyDescriptors(); + for ( int i = 0; i < ps.length; i++ ){ + if (ps[i].getName().equals(evt.getPropertyName())){ + Type t = ps[i].getReadMethod().getGenericReturnType(); + ParameterizedType p = (ParameterizedType) t; + Class expected = (Class) p.getActualTypeArguments()[0]; + Field f = expected.getDeclaredField("UNIT"); + Unit u = (Unit) f.get(null); + + Amount a = (Amount)evt.getNewValue(); + if (!a.getUnit().isCompatible(u)) + throw new PropertyVetoException(ps[i].getShortDescription() + + " must be in units of " + + expected.getSimpleName(), evt); + + System.out.println("Expected " + expected + " got " + u); + } + } + } catch ( PropertyVetoException e ){ + throw e; + } catch (Exception e) { + e.printStackTrace(); + } + } + } + }); + } + + public void checkAmount(Amount a, Class q) + throws IllegalArgumentException { + try { + Field f = q.getDeclaredField("UNIT"); + Unit u = (Unit)f.get(null); + + if (!a.getUnit().isCompatible(u)) { + throw new IllegalArgumentException("Value " + + " must be in units of " + q.getSimpleName()); + } + } catch (Exception e) { + throw new Error(e); + } + } + + public void addPropertyChangeListener(PropertyChangeListener listener) { + pcs.addPropertyChangeListener(listener); + } + + public void removePropertyChangeListener(PropertyChangeListener listener) { + pcs.removePropertyChangeListener(listener); + } + + protected void firePropertyChange(PropertyChangeEvent evt) { + pcs.firePropertyChange(evt); + } + + protected void firePropertyChange(String propertyName, boolean oldValue, + boolean newValue) { + pcs.firePropertyChange(propertyName, oldValue, newValue); + } + + protected void firePropertyChange(String propertyName, int oldValue, + int newValue) { + pcs.firePropertyChange(propertyName, oldValue, newValue); + } + + protected void firePropertyChange(String propertyName, Object oldValue, + Object newValue) { + pcs.firePropertyChange(propertyName, oldValue, newValue); + } + + public void fireVetoableChange(String arg0, boolean arg1, boolean arg2) + throws PropertyVetoException { + vcs.fireVetoableChange(arg0, arg1, arg2); + } + + public void fireVetoableChange(String arg0, int arg1, int arg2) + throws PropertyVetoException { + vcs.fireVetoableChange(arg0, arg1, arg2); + } + + public void fireVetoableChange(String arg0, Object arg1, Object arg2) + throws PropertyVetoException { + vcs.fireVetoableChange(arg0, arg1, arg2); + } +} diff --git a/src/com/billkuker/rocketry/motorsim/Nozzle.java b/src/com/billkuker/rocketry/motorsim/Nozzle.java index e11a76c..2f31666 100644 --- a/src/com/billkuker/rocketry/motorsim/Nozzle.java +++ b/src/com/billkuker/rocketry/motorsim/Nozzle.java @@ -1,7 +1,10 @@ package com.billkuker.rocketry.motorsim; +import java.awt.Shape; + import javax.measure.quantity.Area; import javax.measure.quantity.Force; +import javax.measure.quantity.Length; import javax.measure.quantity.Pressure; import org.jscience.physics.amount.Amount; @@ -10,4 +13,6 @@ public interface Nozzle { public Amount throatArea(); public Amount thrust(Amount Po, Amount Pe, Amount Patm, final double k ); + + public Shape nozzleShape(Amount chamberDiameter); } diff --git a/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java b/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java index 7853c93..9ba8f97 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java +++ b/src/com/billkuker/rocketry/motorsim/grain/CoredCylindricalGrain.java @@ -3,6 +3,7 @@ package com.billkuker.rocketry.motorsim.grain; import java.awt.Shape; import java.awt.geom.Ellipse2D; import java.awt.geom.Rectangle2D; +import java.beans.PropertyVetoException; import javax.measure.quantity.Area; import javax.measure.quantity.Length; @@ -12,22 +13,25 @@ import javax.measure.unit.SI; import org.jscience.physics.amount.Amount; import com.billkuker.rocketry.motorsim.Grain; -import com.billkuker.rocketry.motorsim.validation.Validating; -import com.billkuker.rocketry.motorsim.validation.ValidationException; +import com.billkuker.rocketry.motorsim.MotorPart; -public class CoredCylindricalGrain implements Grain, Validating { + +public class CoredCylindricalGrain extends MotorPart implements Grain, MotorPart.Validating { private Amount length, oD, iD; - private boolean oInh = true, iInh = false, eInh = false; + private boolean outerSurfaceInhibited = true, innerSurfaceInhibited = false, endSurfaceInhibited = false; public CoredCylindricalGrain() { - + length = Amount.valueOf(100, SI.MILLIMETER); + oD = Amount.valueOf(30, SI.MILLIMETER); + iD = Amount.valueOf(10, SI.MILLIMETER); } + public void inhibit(boolean in, boolean out, boolean end){ - oInh = out; - iInh = in; - eInh = end; + outerSurfaceInhibited = out; + innerSurfaceInhibited = in; + endSurfaceInhibited = end; } @Override @@ -36,19 +40,19 @@ public class CoredCylindricalGrain implements Grain, Validating { //Calculated regressed length Amount cLength = length; - if ( !eInh ){ + if ( !endSurfaceInhibited ){ cLength = cLength.minus(regression.times(2)); } //Calculate regressed iD Amount cID = iD; - if ( !iInh ){ + if ( !innerSurfaceInhibited ){ cID = iD.plus(regression.times(2)); } //Calculate regressed oD Amount cOD = oD; - if ( !oInh ){ + if ( !outerSurfaceInhibited ){ cOD = oD.minus(regression.times(2)); } @@ -65,7 +69,7 @@ public class CoredCylindricalGrain implements Grain, Validating { Amount ends = (cOD.divide(2).pow(2).times(Math.PI)).minus(cID.divide(2).pow(2).times(Math.PI)).times(2).to(SI.SQUARE_METRE); - Amount total = inner.times(iInh?0:1).plus(outer.times(oInh?0:1)).plus(ends.times(eInh?0:1)); + Amount total = inner.times(innerSurfaceInhibited?0:1).plus(outer.times(outerSurfaceInhibited?0:1)).plus(ends.times(endSurfaceInhibited?0:1)); return total; } @@ -76,19 +80,19 @@ public class CoredCylindricalGrain implements Grain, Validating { //Calculated regressed length Amount cLength = length; - if ( !eInh ){ + if ( !endSurfaceInhibited ){ cLength = cLength.minus(regression.times(2)); } //Calculate regressed iD Amount cID = iD; - if ( !iInh ){ + if ( !innerSurfaceInhibited ){ cID = iD.plus(regression.times(2)); } //Calculate regressed oD Amount cOD = oD; - if ( !oInh ){ + if ( !outerSurfaceInhibited ){ cOD = oD.minus(regression.times(2)); } @@ -105,16 +109,25 @@ public class CoredCylindricalGrain implements Grain, Validating { return end.times(cLength).to(SI.CUBIC_METRE); } - public void setLength(Amount length) { + public void setLength(Amount length) throws PropertyVetoException { + fireVetoableChange("length", this.length, length); + Amount old = this.length; this.length = length; + firePropertyChange("length", old, length); } - public void setOD(Amount od) { - oD = od; + public void setOD(Amount od) throws PropertyVetoException { + fireVetoableChange("od", this.oD, od); + Amount old = this.oD; + this.oD = od; + firePropertyChange("OD", old, oD); } - public void setID(Amount id) { + public void setID(Amount id) throws PropertyVetoException { + fireVetoableChange("id", this.iD, id); + Amount old = this.iD; iD = id; + firePropertyChange("ID", old, iD); } public void checkValidity() throws ValidationException{ @@ -127,22 +140,26 @@ public class CoredCylindricalGrain implements Grain, Validating { if ( iD.isGreaterThan(oD) ) throw new ValidationException(this, "iD > oD"); - if ( iInh && oInh && eInh ) + if ( innerSurfaceInhibited && outerSurfaceInhibited && endSurfaceInhibited ) throw new ValidationException(this, "No exposed grain surface"); } @Override public Amount webThickness() { + if ( innerSurfaceInhibited && outerSurfaceInhibited && endSurfaceInhibited ){ + return oD; + } + Amount radial = null; - if ( !iInh && !oInh ) + if ( !innerSurfaceInhibited && !outerSurfaceInhibited ) radial = oD.minus(iD).divide(4); //Outer and inner exposed - else if ( !iInh || !oInh ) + else if ( !innerSurfaceInhibited || !outerSurfaceInhibited ) radial = oD.minus(iD).divide(2); //Outer or inner exposed Amount axial = null; - if ( !eInh ) + if ( !endSurfaceInhibited ) axial = length.divide(2); if ( axial == null ) @@ -172,9 +189,9 @@ public class CoredCylindricalGrain implements Grain, Validating { double oDmm = oD.doubleValue(SI.MILLIMETER); double iDmm = iD.doubleValue(SI.MILLIMETER); - if ( !oInh ) + if ( !outerSurfaceInhibited ) oDmm -= 2.0 * rmm; - if ( !iInh ) + if ( !innerSurfaceInhibited ) iDmm += 2.0 * rmm; Shape oDs = new Ellipse2D.Double(-oDmm/2.0, -oDmm/2.0, oDmm, oDmm); @@ -191,11 +208,11 @@ public class CoredCylindricalGrain implements Grain, Validating { double iDmm = iD.doubleValue(SI.MILLIMETER); double lmm = length.doubleValue(SI.MILLIMETER); - if ( !oInh ) + if ( !outerSurfaceInhibited ) oDmm -= 2.0 * rmm; - if ( !iInh ) + if ( !innerSurfaceInhibited ) iDmm += 2.0 * rmm; - if ( !eInh ) + if ( !endSurfaceInhibited ) lmm -= 2.0 * rmm; java.awt.geom.Area a = new java.awt.geom.Area(); @@ -204,6 +221,45 @@ public class CoredCylindricalGrain implements Grain, Validating { return a; } + + + public boolean isOuterSurfaceInhibited() { + return outerSurfaceInhibited; + } + + + public void setOuterSurfaceInhibited(boolean outerSurfaceInhibited) throws PropertyVetoException { + fireVetoableChange("outerSurfaceInhibited", this.outerSurfaceInhibited, outerSurfaceInhibited); + boolean old = this.outerSurfaceInhibited; + this.outerSurfaceInhibited = outerSurfaceInhibited; + firePropertyChange("outerSurfaceInhibited", old, outerSurfaceInhibited); + } + + + public boolean isInnerSurfaceInhibited() { + return innerSurfaceInhibited; + } + + + public void setInnerSurfaceInhibited(boolean innerSurfaceInhibited) throws PropertyVetoException { + fireVetoableChange("innerSurfaceInhibited", this.innerSurfaceInhibited, innerSurfaceInhibited); + boolean old = this.innerSurfaceInhibited; + this.innerSurfaceInhibited = innerSurfaceInhibited; + firePropertyChange("innerSurfaceInhibited", old, innerSurfaceInhibited); + } + + + public boolean isEndSurfaceInhibited() { + return endSurfaceInhibited; + } + + + public void setEndSurfaceInhibited(boolean endSurfaceInhibited) throws PropertyVetoException { + fireVetoableChange("endSurfaceInhibited", this.endSurfaceInhibited, endSurfaceInhibited); + boolean old = this.endSurfaceInhibited; + this.endSurfaceInhibited = endSurfaceInhibited; + firePropertyChange("endSurfaceInhibited", old, endSurfaceInhibited); + } } diff --git a/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java b/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java index cebe3f9..cf9963c 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java +++ b/src/com/billkuker/rocketry/motorsim/grain/ExtrudedGrain.java @@ -18,6 +18,7 @@ import javax.measure.unit.SI; import org.jscience.physics.amount.Amount; import com.billkuker.rocketry.motorsim.Grain; +import com.billkuker.rocketry.motorsim.visual.GrainPanel; public class ExtrudedGrain implements Grain { diff --git a/src/com/billkuker/rocketry/motorsim/test/CoredCylindricalGrainTest.java b/src/com/billkuker/rocketry/motorsim/test/CoredCylindricalGrainTest.java index a2fddab..f54bd1d 100644 --- a/src/com/billkuker/rocketry/motorsim/test/CoredCylindricalGrainTest.java +++ b/src/com/billkuker/rocketry/motorsim/test/CoredCylindricalGrainTest.java @@ -1,18 +1,20 @@ package com.billkuker.rocketry.motorsim.test; +import java.beans.PropertyVetoException; + import javax.measure.quantity.Length; import javax.measure.unit.SI; import org.jscience.physics.amount.Amount; import org.junit.Test; +import com.billkuker.rocketry.motorsim.MotorPart; import com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain; -import com.billkuker.rocketry.motorsim.validation.ValidationException; public class CoredCylindricalGrainTest extends RocketTest { @Test - public void testSurfaceArea() { + public void testSurfaceArea() throws PropertyVetoException { CoredCylindricalGrain g = new CoredCylindricalGrain(); g.setLength(Amount.valueOf(70, SI.MILLIMETER)); @@ -29,7 +31,7 @@ public class CoredCylindricalGrainTest extends RocketTest { @Test - public void testWebThickness() { + public void testWebThickness() throws PropertyVetoException { CoredCylindricalGrain g = new CoredCylindricalGrain(); //thin and long @@ -48,7 +50,7 @@ public class CoredCylindricalGrainTest extends RocketTest { } @Test - public void testVolume() { + public void testVolume() throws PropertyVetoException { CoredCylindricalGrain g = new CoredCylindricalGrain(); //thin and long @@ -59,8 +61,8 @@ public class CoredCylindricalGrainTest extends RocketTest { System.out.println(g.volume(Amount.valueOf(0, SI.MILLIMETER))); } - @Test(expected=ValidationException.class) - public void testCheckValidity() throws ValidationException{ + @Test(expected=MotorPart.Validating.ValidationException.class) + public void testCheckValidity() throws MotorPart.Validating.ValidationException, PropertyVetoException{ CoredCylindricalGrain g = new CoredCylindricalGrain(); //thin and long diff --git a/src/com/billkuker/rocketry/motorsim/validation/Validating.java b/src/com/billkuker/rocketry/motorsim/validation/Validating.java deleted file mode 100644 index f84a742..0000000 --- a/src/com/billkuker/rocketry/motorsim/validation/Validating.java +++ /dev/null @@ -1,5 +0,0 @@ -package com.billkuker.rocketry.motorsim.validation; - -public interface Validating { - void checkValidity() throws ValidationException; -} diff --git a/src/com/billkuker/rocketry/motorsim/validation/ValidationException.java b/src/com/billkuker/rocketry/motorsim/validation/ValidationException.java deleted file mode 100644 index 88ae846..0000000 --- a/src/com/billkuker/rocketry/motorsim/validation/ValidationException.java +++ /dev/null @@ -1,12 +0,0 @@ -package com.billkuker.rocketry.motorsim.validation; - -public class ValidationException extends Exception { - /** - * - */ - private static final long serialVersionUID = 1L; - - public ValidationException(Validating v, String error) { - super(v.toString() + ": " + error); - } -} diff --git a/src/com/billkuker/rocketry/motorsim/grain/BurnPanel.java b/src/com/billkuker/rocketry/motorsim/visual/BurnPanel.java similarity index 93% rename from src/com/billkuker/rocketry/motorsim/grain/BurnPanel.java rename to src/com/billkuker/rocketry/motorsim/visual/BurnPanel.java index c0a2673..11def56 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/BurnPanel.java +++ b/src/com/billkuker/rocketry/motorsim/visual/BurnPanel.java @@ -1,4 +1,4 @@ -package com.billkuker.rocketry.motorsim.grain; +package com.billkuker.rocketry.motorsim.visual; import java.awt.BorderLayout; import java.text.NumberFormat; @@ -18,7 +18,6 @@ import javax.swing.event.ChangeListener; import org.jscience.physics.amount.Amount; import com.billkuker.rocketry.motorsim.Burn; -import com.billkuker.rocketry.motorsim.visual.Chart; public class BurnPanel extends JPanel { private Burn burn; diff --git a/src/com/billkuker/rocketry/motorsim/visual/Chart.java b/src/com/billkuker/rocketry/motorsim/visual/Chart.java index 61fd9cf..2bf8537 100644 --- a/src/com/billkuker/rocketry/motorsim/visual/Chart.java +++ b/src/com/billkuker/rocketry/motorsim/visual/Chart.java @@ -24,6 +24,8 @@ import org.jfree.data.xy.XYSeries; import org.jfree.data.xy.XYSeriesCollection; import org.jscience.physics.amount.Amount; +import sun.misc.Cleaner; + import com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain; public class Chart extends JPanel { @@ -128,6 +130,7 @@ public class Chart extends JPanel { //double step = (high - low) / 50; //for (double x = low; x < high; x += step) { //Amount ax = Amount.valueOf(x, xUnit); + series.clear(); for( Amount ax: d){ try { Amount y = (Amount) f.invoke(source, ax); diff --git a/src/com/billkuker/rocketry/motorsim/visual/Editor.java b/src/com/billkuker/rocketry/motorsim/visual/Editor.java new file mode 100644 index 0000000..de5f491 --- /dev/null +++ b/src/com/billkuker/rocketry/motorsim/visual/Editor.java @@ -0,0 +1,164 @@ +package com.billkuker.rocketry.motorsim.visual; +import java.awt.Color; +import java.awt.Component; +import java.awt.GridLayout; +import java.awt.event.ActionEvent; +import java.awt.event.ActionListener; +import java.awt.event.FocusEvent; +import java.awt.event.FocusListener; +import java.awt.event.InputEvent; +import java.awt.event.ItemEvent; +import java.awt.event.ItemListener; +import java.beans.BeanInfo; +import java.beans.IntrospectionException; +import java.beans.Introspector; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; +import java.beans.PropertyDescriptor; +import java.beans.PropertyEditor; +import java.beans.PropertyEditorManager; +import java.beans.PropertyEditorSupport; +import java.beans.PropertyVetoException; +import java.lang.reflect.Field; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.ParameterizedType; +import java.lang.reflect.Type; + +import javax.measure.unit.NonSI; +import javax.measure.unit.Unit; +import javax.swing.JCheckBox; +import javax.swing.JFrame; +import javax.swing.JLabel; +import javax.swing.JPanel; +import javax.swing.JTextField; + +import org.apache.log4j.Logger; +import org.jscience.physics.amount.Amount; + +import com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain; +import com.l2fprod.common.propertysheet.PropertySheetPanel; +import com.sun.media.sound.Toolkit; + +public class Editor extends JPanel { + private static Logger log = Logger.getLogger(Editor.class); + + private Object obj; + + public Editor(Object o) throws IntrospectionException, + IllegalArgumentException, IllegalAccessException, + InvocationTargetException { + obj = o; + /* + BeanInfo b = Introspector.getBeanInfo(o.getClass()); + setLayout(new GridLayout(b.getPropertyDescriptors().length - 1, 2)); + for (PropertyDescriptor p : b.getPropertyDescriptors()) { + log.debug(p.getName()); + if (p.getName().equals("class")) + continue; + + add(new JLabel(p.getName())); + if (p.getPropertyType().isAssignableFrom(Amount.class)){ + add(new AmountEditor(p)); + } else if ( p.getPropertyType() == boolean.class ){ + add( new BooleanEditor(p) ); + + } + } + log.debug(PropertyEditorManager.findEditor(boolean.class).supportsCustomEditor());*/ + + PropertyEditorManager.registerEditor(Amount.class, AmountPropertyEditor.class); + + final PropertySheetPanel ps = new PropertySheetPanel(); + ps.setBeanInfo(Introspector.getBeanInfo(obj.getClass())); + ps.readFromObject(obj); + add(ps); + + ps.addPropertySheetChangeListener(new PropertyChangeListener(){ + + @Override + public void propertyChange(PropertyChangeEvent evt) { + //When something changes just update the + //object, I want the changes to be immediate. + try { + ps.writeToObject(obj); + } catch ( Exception v ){ + //TODO + v.printStackTrace(); + java.awt.Toolkit.getDefaultToolkit().beep(); + } finally { + ps.readFromObject(obj); + } + } + + }); + } + + public static void main(String args[]) throws Exception { + CoredCylindricalGrain g = new CoredCylindricalGrain(); + g.setOD(Amount.valueOf(1, NonSI.INCH)); + new Editor(g).show(); + + new GrainPanel(g).show(); + } + + public void show() { + JFrame f = new JFrame(); + f.setSize(600,400); + f.setContentPane(this); + f.setDefaultCloseOperation(f.DISPOSE_ON_CLOSE); + f.setVisible(true); + } + + public static class AmountPropertyEditor extends PropertyEditorSupport{ + JTextField editor = new JTextField(); + Unit oldUnit; + + @Override + public boolean supportsCustomEditor() { + return true; + } + @Override public String getAsText(){ + return editor.getText(); + } + + @Override public Object getValue(){ + String text = editor.getText().trim(); + try { + try { + return Amount.valueOf(Integer.parseInt(text), oldUnit); + } catch (NumberFormatException e){ + + } + Amount a = Amount.valueOf(Double.parseDouble(text), oldUnit); + return a; + } catch (NumberFormatException e){ + Amount a = Amount.valueOf(editor.getText()); + oldUnit = a.getUnit(); + return a; + } + + } + @Override public void setValue(Object o){ + Amount a = (Amount)o; + oldUnit = a.getUnit(); + + String text; + if ( a.isExact() ) + text = a.getExactValue() + " " + a.getUnit(); + else + text = a.doubleValue(a.getUnit()) + " " + a.getUnit(); + + setAsText(text); + } + @Override public void setAsText(String text) throws IllegalArgumentException { + editor.setText(text); + }; + @Override + public Component getCustomEditor(){ + return editor; + } + } + + + +} diff --git a/src/com/billkuker/rocketry/motorsim/grain/GrainPanel.java b/src/com/billkuker/rocketry/motorsim/visual/GrainPanel.java similarity index 86% rename from src/com/billkuker/rocketry/motorsim/grain/GrainPanel.java rename to src/com/billkuker/rocketry/motorsim/visual/GrainPanel.java index d30e51f..035c187 100644 --- a/src/com/billkuker/rocketry/motorsim/grain/GrainPanel.java +++ b/src/com/billkuker/rocketry/motorsim/visual/GrainPanel.java @@ -1,4 +1,4 @@ -package com.billkuker.rocketry.motorsim.grain; +package com.billkuker.rocketry.motorsim.visual; import java.awt.BorderLayout; import java.awt.Color; @@ -7,6 +7,8 @@ import java.awt.Graphics; import java.awt.Graphics2D; import java.awt.Rectangle; import java.awt.geom.AffineTransform; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; import java.text.NumberFormat; import javax.measure.quantity.Area; @@ -24,7 +26,7 @@ import javax.swing.event.ChangeListener; import org.jscience.physics.amount.Amount; import com.billkuker.rocketry.motorsim.Grain; -import com.billkuker.rocketry.motorsim.visual.Chart; +import com.billkuker.rocketry.motorsim.MotorPart; public class GrainPanel extends JPanel { private static final long serialVersionUID = 1L; @@ -40,6 +42,18 @@ public class GrainPanel extends JPanel { super(new BorderLayout()); grain = g; + + if ( g instanceof MotorPart ){ + ((MotorPart)g).addPropertyChangeListener(new PropertyChangeListener(){ + @Override + public void propertyChange(PropertyChangeEvent evt) { + repaint(); + area.setDomain(area.new IntervalDomain(Amount.valueOf(0, SI.MILLIMETER), grain.webThickness())); + volume.setDomain(volume.new IntervalDomain(Amount.valueOf(0, SI.MILLIMETER), grain.webThickness())); + } + }); + } + try { diff --git a/src/com/billkuker/rocketry/motorsim/visual/NozzlePanel.java b/src/com/billkuker/rocketry/motorsim/visual/NozzlePanel.java new file mode 100644 index 0000000..8920a65 --- /dev/null +++ b/src/com/billkuker/rocketry/motorsim/visual/NozzlePanel.java @@ -0,0 +1,79 @@ +package com.billkuker.rocketry.motorsim.visual; + +import java.awt.BasicStroke; +import java.awt.Color; +import java.awt.Graphics; +import java.awt.Graphics2D; +import java.awt.Rectangle; +import java.awt.Shape; +import java.awt.Stroke; +import java.awt.geom.Area; +import java.beans.PropertyChangeEvent; +import java.beans.PropertyChangeListener; + +import javax.measure.unit.SI; +import javax.swing.JFrame; +import javax.swing.JPanel; +import javax.swing.text.EditorKit; + +import org.jscience.physics.amount.Amount; + +import com.billkuker.rocketry.motorsim.ConvergentDivergentNozzle; +import com.billkuker.rocketry.motorsim.MotorPart; +import com.billkuker.rocketry.motorsim.Nozzle; +import com.billkuker.rocketry.motorsim.visual.Chart.IntervalDomain; + +public class NozzlePanel extends JPanel { + private Nozzle nozzle; + public NozzlePanel(Nozzle n){ + nozzle = n; + + if ( n instanceof MotorPart ){ + ((MotorPart)n).addPropertyChangeListener(new PropertyChangeListener(){ + @Override + public void propertyChange(PropertyChangeEvent evt) { + repaint(); + } + }); + } + } + + public void paint(Graphics g){ + super.paint(g); + Graphics2D g2d = (Graphics2D)g; + g2d.translate(10, 10); + + g2d.setColor(Color.black); + + + Shape a = nozzle.nozzleShape(Amount.valueOf(30, SI.MILLIMETER)); + + Rectangle bounds = a.getBounds(); + double max = bounds.getWidth(); + if ( bounds.getHeight() > max ) + max = bounds.getHeight(); + + g2d.scale(200 / max, 200 / max); + g2d.translate(-bounds.getX(), -bounds.getY()); + + g2d.setStroke(new BasicStroke(4*(float)max/200f)); + + g2d.draw( a ); + } + + public void show(){ + JFrame f = new JFrame(); + f.setSize(220,250); + f.setContentPane(this); + f.setDefaultCloseOperation(f.DISPOSE_ON_CLOSE); + f.setVisible(true); + } + + public static void main(String args[]) throws Exception{ + ConvergentDivergentNozzle n = new ConvergentDivergentNozzle(); + n.setThroatDiameter(Amount.valueOf(5, SI.MILLIMETER)); + n.setExitDiameter(Amount.valueOf(9, SI.MILLIMETER)); + new Editor(n).show(); + new NozzlePanel(n).show(); + } +} -- 2.47.2