From: kruland2607 Date: Wed, 18 Apr 2012 19:41:33 +0000 (+0000) Subject: InnerTubes use ComponentPresets BODY_TUBE. X-Git-Tag: upstream/12.09^2~354 X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=efbc9f2e8d9de4c0a39257748876c0b857fc45b4;p=debian%2Fopenrocket InnerTubes use ComponentPresets BODY_TUBE. git-svn-id: https://openrocket.svn.sourceforge.net/svnroot/openrocket/trunk@566 180e2498-e6e9-4542-8430-84ac67f01cd8 --- diff --git a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java index 0b8c92d2..937edbf5 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java +++ b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java @@ -6,6 +6,7 @@ import java.util.List; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.motor.Motor; +import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.BugException; import net.sf.openrocket.util.Coordinate; @@ -77,7 +78,27 @@ public class InnerTube extends ThicknessRingComponent return InternalComponent.class.isAssignableFrom(type); } - + @Override + public ComponentPreset.Type getPresetType() { + return ComponentPreset.Type.BODY_TUBE; + } + + @Override + protected void loadFromPreset(ComponentPreset preset) { + if ( preset.has(ComponentPreset.OUTER_DIAMETER) ) { + 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.BOTH_CHANGE); + } + ///////////// Cluster methods //////////////