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.Coordinate;
import net.sf.openrocket.util.MathUtil;
/************ Get/set component parameter methods ************/
+ @Override
+ public ComponentPreset.Type getPresetType() {
+ return ComponentPreset.Type.BODY_TUBE;
+ }
+
/**
* Return the outer radius of the body tube.
*
@Override
- protected void loadFromPreset(RocketComponent preset) {
- BodyTube c = (BodyTube) preset;
- this.setOuterRadius(c.getOuterRadius());
-
+ protected void loadFromPreset(ComponentPreset preset) {
+ this.autoRadius = false;
+ 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);
}
-
@Override
public double getAftRadius() {
return getOuterRadius();