X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FThicknessRingComponent.java;fp=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FThicknessRingComponent.java;h=c2d0a9bd46829c823da5acc749ff73f5fab6d6e8;hb=9349577cdfdff682b2aabd6daa24fdc3a7449b58;hp=4bded7079e72173eb68e45e7519aa75c5631b7f8;hpb=30ba0a882f0c061176ba14dbf86d3d6fad096c02;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/rocketcomponent/ThicknessRingComponent.java b/core/src/net/sf/openrocket/rocketcomponent/ThicknessRingComponent.java index 4bded707..c2d0a9bd 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/ThicknessRingComponent.java +++ b/core/src/net/sf/openrocket/rocketcomponent/ThicknessRingComponent.java @@ -1,5 +1,6 @@ package net.sf.openrocket.rocketcomponent; +import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.util.Coordinate; import net.sf.openrocket.util.MathUtil; @@ -16,7 +17,24 @@ public abstract class ThicknessRingComponent extends RingComponent { protected double outerRadius = 0; protected double thickness = 0; - + @Override + protected void loadFromPreset(ComponentPreset preset) { + if ( preset.has(ComponentPreset.OUTER_DIAMETER) ) { + this.outerRadiusAutomatic = false; + this.innerRadiusAutomatic = false; + double outerDiameter = preset.get(ComponentPreset.OUTER_DIAMETER); + this.outerRadius = outerDiameter/2.0; + if ( preset.has(ComponentPreset.INNER_DIAMETER) ) { + double innerDiameter = preset.get(ComponentPreset.INNER_DIAMETER); + this.thickness = (outerDiameter-innerDiameter) / 2.0; + } + } + super.loadFromPreset(preset); + + fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); + + } + @Override public double getOuterRadius() { if (isOuterRadiusAutomatic() && getParent() instanceof RadialParent) { @@ -45,6 +63,8 @@ public abstract class ThicknessRingComponent extends RingComponent { if (thickness > outerRadius) thickness = outerRadius; + clearPreset(); + fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } @@ -64,6 +84,8 @@ public abstract class ThicknessRingComponent extends RingComponent { this.thickness = thickness; + clearPreset(); + fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); }