package net.sf.openrocket.rocketcomponent;
import net.sf.openrocket.material.Material;
+import net.sf.openrocket.preset.ComponentPreset;
import net.sf.openrocket.startup.Application;
public abstract class StructuralComponent extends InternalComponent {
material = Application.getPreferences().getDefaultComponentMaterial(this.getClass(), Material.Type.BULK);
}
+ @Override
+ protected void loadFromPreset(ComponentPreset preset) {
+ super.loadFromPreset(preset);
+ if ( preset.has(ComponentPreset.MATERIAL ) ) {
+ Material mat = preset.get(ComponentPreset.MATERIAL);
+ if ( mat != null ) {
+ this.material = mat;
+ } /*
+ TODO -
+ else if (c.isMassOverridden()) {
+ double mass = c.getOverrideMass();
+ double volume = getComponentVolume();
+ double density;
+ if (volume > 0.00001) {
+ density = mass / volume;
+ } else {
+ density = 1000;
+ }
+ mat = Material.newMaterial(Type.BULK, mat.getName(), density, true);
+ setMaterial(mat);
+ }
+ */
+ }
+ }
public final Material getMaterial() {
return material;
if (mat.equals(material))
return;
this.material = mat;
+ clearPreset();
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
}
}