X-Git-Url: https://git.gag.com/?a=blobdiff_plain;ds=sidebyside;f=core%2Fsrc%2Fnet%2Fsf%2Fopenrocket%2Frocketcomponent%2FRecoveryDevice.java;h=3c5a88f1bc005e2deb39b0b5b85adb40a7d95890;hb=bbdd01e3f680d5c22b6dae29220d191fd8fc7163;hp=e9c493db7086e76980b9a328f56d05b638c0f814;hpb=5a526e3de9261f5485ad7b519dc981fd884a7953;p=debian%2Fopenrocket diff --git a/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java b/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java index e9c493db..3c5a88f1 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java +++ b/core/src/net/sf/openrocket/rocketcomponent/RecoveryDevice.java @@ -2,6 +2,7 @@ package net.sf.openrocket.rocketcomponent; import net.sf.openrocket.l10n.Translator; import net.sf.openrocket.material.Material; +import net.sf.openrocket.preset.ComponentPreset; import net.sf.openrocket.simulation.FlightEvent; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.MathUtil; @@ -169,6 +170,7 @@ public abstract class RecoveryDevice extends MassObject { if (mat.equals(material)) return; this.material = (Material.Surface) mat; + clearPreset(); fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); } @@ -220,5 +222,16 @@ public abstract class RecoveryDevice extends MassObject { public double getComponentMass() { return getArea() * getMaterial().getDensity(); } - + + @Override + protected void loadFromPreset(ComponentPreset preset) { + if ( preset.has(ComponentPreset.MATERIAL)) { + Material m = preset.get(ComponentPreset.MATERIAL); + this.material = (Material.Surface)m; + } + super.loadFromPreset(preset); + fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE); + + } + }