package net.sf.openrocket.rocketcomponent;
+import net.sf.openrocket.l10n.Translator;
+import net.sf.openrocket.preset.ComponentPreset;
+import net.sf.openrocket.preset.ComponentPreset.Type;
+import net.sf.openrocket.startup.Application;
import net.sf.openrocket.util.MathUtil;
public class Streamer extends RecoveryDevice {
public static final double MAX_COMPUTED_CD = 0.4;
+ private static final Translator trans = Application.getTranslator();
private double stripLength;
private double stripWidth;
if (MathUtil.equals(this.stripLength, stripLength))
return;
this.stripLength = stripLength;
+ clearPreset();
fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
}
return;
this.stripWidth = stripWidth;
this.length = stripWidth;
+ clearPreset();
fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
}
+ @Override
+ public Type getPresetType() {
+ return ComponentPreset.Type.STREAMER;
+ }
+
+
+ @Override
+ protected void loadFromPreset(ComponentPreset preset) {
+ if ( preset.has(ComponentPreset.LENGTH)) {
+ this.stripLength = preset.get(ComponentPreset.LENGTH);
+ }
+ if ( preset.has(ComponentPreset.WIDTH)) {
+ this.stripWidth = preset.get(ComponentPreset.WIDTH);
+ }
+ super.loadFromPreset(preset);
+ // Fix the length to the stripWidth since RocketComponent assigns ComponentPreset.LENGTH to length.
+ this.length = this.stripWidth;
+ fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
+ }
+
+
@Override
public double getComponentCD(double mach) {
double density = this.getMaterial().getDensity();
@Override
public String getComponentName() {
- return "Streamer";
+ return trans.get ("Streamer.Streamer");
}
@Override