Updates and fixed to preset handling
[debian/openrocket] / core / src / net / sf / openrocket / rocketcomponent / SymmetricComponent.java
index 5dc1835463e9ed3bf2ad72207c0835607e2b167c..4e8893941d815d0b172e650fcd399597d83085d1 100644 (file)
@@ -6,6 +6,7 @@ import java.util.ArrayList;
 import java.util.Collection;
 import java.util.List;
 
+import net.sf.openrocket.preset.ComponentPreset;
 import net.sf.openrocket.util.Coordinate;
 import net.sf.openrocket.util.MathUtil;
 
@@ -146,10 +147,13 @@ public abstract class SymmetricComponent extends BodyComponent implements Radial
        
 
        @Override
-       protected void loadFromPreset(RocketComponent preset) {
-               SymmetricComponent c = (SymmetricComponent) preset;
-               this.setThickness(c.getThickness());
-               this.setFilled(c.isFilled());
+       protected void loadFromPreset(ComponentPreset preset) {
+               if ( preset.has(ComponentPreset.THICKNESS) ) {
+                       this.setThickness(preset.get(ComponentPreset.THICKNESS));
+               }
+               if ( preset.has(ComponentPreset.FILLED)) {
+                       this.setFilled(preset.get(ComponentPreset.FILLED));
+               }
                
                super.loadFromPreset(preset);
        }