]> git.gag.com Git - debian/openrocket/blobdiff - core/src/net/sf/openrocket/file/rocksim/importt/TransitionHandler.java
Merge commit '42b2e5ca519766e37ce6941ba4faecc9691cc403' into upstream
[debian/openrocket] / core / src / net / sf / openrocket / file / rocksim / importt / TransitionHandler.java
index b589b67796bac63507fc2d939c9e0ea90d83dbe3..f4b1720a119ab04f30adf7c910e23d61e05ea6e8 100644 (file)
@@ -4,6 +4,9 @@
 package net.sf.openrocket.file.rocksim.importt;
 
 import net.sf.openrocket.aerodynamics.WarningSet;
+import net.sf.openrocket.file.rocksim.RocksimCommonConstants;
+import net.sf.openrocket.file.rocksim.RocksimFinishCode;
+import net.sf.openrocket.file.rocksim.RocksimNoseConeCode;
 import net.sf.openrocket.file.simplesax.ElementHandler;
 import net.sf.openrocket.file.simplesax.PlainTextHandler;
 import net.sf.openrocket.material.Material;
@@ -45,6 +48,9 @@ class TransitionHandler extends BaseHandler<Transition> {
 
     @Override
     public ElementHandler openElement(String element, HashMap<String, String> attributes, WarningSet warnings) {
+        if (RocksimCommonConstants.ATTACHED_PARTS.equals(element)) {
+            return new AttachedPartsHandler(transition);
+        }
         return PlainTextHandler.INSTANCE;
     }
 
@@ -59,34 +65,34 @@ class TransitionHandler extends BaseHandler<Transition> {
             }
             if ("Len".equals(element)) {
                 transition.setLength(Math.max(0, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH));
             }
             if ("FrontDia".equals(element)) {
                 transition.setForeRadius(Math.max(0, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_RADIUS));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_RADIUS));
             }
             if ("RearDia".equals(element)) {
                 transition.setAftRadius(Math.max(0, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_RADIUS));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_RADIUS));
             }
             if ("WallThickness".equals(element)) {
-                thickness = Math.max(0d, Double.parseDouble(content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH);
+                thickness = Math.max(0d, Double.parseDouble(content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH);
             }
             if ("FrontShoulderDia".equals(element)) {
                 transition.setForeShoulderRadius(Math.max(0d, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_RADIUS));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_RADIUS));
             }
             if ("RearShoulderDia".equals(element)) {
                 transition.setAftShoulderRadius(Math.max(0d, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_RADIUS));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_RADIUS));
             }
             if ("FrontShoulderLen".equals(element)) {
                 transition.setForeShoulderLength(Math.max(0d, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH));
             }
             if ("RearShoulderLen".equals(element)) {
                 transition.setAftShoulderLength(Math.max(0d, Double.parseDouble(
-                        content) / RocksimHandler.ROCKSIM_TO_OPENROCKET_LENGTH));
+                        content) / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH));
             }
             if ("ShapeParameter".equals(element)) {
                 if (Transition.Shape.POWER.equals(transition.getType()) ||