geodetic computation file storage
[debian/openrocket] / src / net / sf / openrocket / file / openrocket / OpenRocketSaver.java
index 85085259809919d9d4f4d92e102cd8c131b07f67..6554a5375446b6dd9e6fccff9510d347cff05d7b 100644 (file)
@@ -25,7 +25,7 @@ import net.sf.openrocket.simulation.FlightData;
 import net.sf.openrocket.simulation.FlightDataBranch;
 import net.sf.openrocket.simulation.FlightDataType;
 import net.sf.openrocket.simulation.FlightEvent;
-import net.sf.openrocket.simulation.GUISimulationConditions;
+import net.sf.openrocket.simulation.SimulationOptions;
 import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.util.BugException;
 import net.sf.openrocket.util.MathUtil;
@@ -193,6 +193,11 @@ public class OpenRocketSaver extends RocketSaver {
                 * Otherwise use version 1.0.
                 */
 
+               // Check if design has simulations defined (version 1.3)
+               if (document.getSimulationCount() > 0) {
+                       return FILE_VERSION_DIVISOR + 3;
+               }
+               
                // Check for motor definitions (version 1.2)
                Iterator<RocketComponent> iterator = document.getRocket().iterator();
                while (iterator.hasNext()) {
@@ -291,7 +296,7 @@ public class OpenRocketSaver extends RocketSaver {
        
        
        private void saveSimulation(Simulation simulation, double timeSkip) throws IOException {
-               GUISimulationConditions cond = simulation.getConditions();
+               SimulationOptions cond = simulation.getOptions();
                
                writeln("<simulation status=\"" + enumToXMLName(simulation.getStatus()) + "\">");
                indent++;
@@ -311,6 +316,8 @@ public class OpenRocketSaver extends RocketSaver {
                writeElement("windturbulence", cond.getWindTurbulenceIntensity());
                writeElement("launchaltitude", cond.getLaunchAltitude());
                writeElement("launchlatitude", cond.getLaunchLatitude());
+               writeElement("launchlongitude", cond.getLaunchLongitude());
+               writeElement("geodeticmethod", cond.getGeodeticComputation().name().toLowerCase());
                
                if (cond.isISAAtmosphere()) {
                        writeln("<atmosphere model=\"isa\"/>");