import net.sf.openrocket.l10n.Translator;
import net.sf.openrocket.material.Material;
+import net.sf.openrocket.material.Material.Type;
+import net.sf.openrocket.preset.ExternalComponentPreset;
+import net.sf.openrocket.preset.RocketComponentPreset;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.Prefs;
if (material.equals(mat))
return;
material = mat;
+ clearPreset();
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
}
+ @Override
+ protected void loadFromPreset(RocketComponentPreset preset) {
+ super.loadFromPreset(preset);
+
+ ExternalComponentPreset p = (ExternalComponentPreset) preset;
+ String materialName = p.getMaterialName();
+ double mass = p.getMass();
+
+ double volume = getComponentVolume();
+ double density;
+ if (volume > 0.00001) {
+ density = mass / volume;
+ } else {
+ density = 1000;
+ }
+
+ Material mat = Material.newMaterial(Type.BULK, materialName, density, true);
+ setMaterial(mat);
+ }
+
+
@Override
protected List<RocketComponent> copyFrom(RocketComponent c) {
ExternalComponent src = (ExternalComponent) c;