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;
// Size per component
int componentCount = 0;
Rocket rocket = doc.getRocket();
- Iterator<RocketComponent> iterator = rocket.deepIterator(true);
+ Iterator<RocketComponent> iterator = rocket.iterator(true);
while (iterator.hasNext()) {
iterator.next();
componentCount++;
* 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().deepIterator();
+ Iterator<RocketComponent> iterator = document.getRocket().iterator();
while (iterator.hasNext()) {
RocketComponent c = iterator.next();
if (!(c instanceof MotorMount))
}
// Check for fin tabs (version 1.1)
- iterator = document.getRocket().deepIterator();
+ iterator = document.getRocket().iterator();
while (iterator.hasNext()) {
RocketComponent c = iterator.next();
writeln("<subcomponents>");
indent++;
boolean emptyline = false;
- for (RocketComponent subcomponent : component) {
+ for (RocketComponent subcomponent : component.getChildren()) {
if (emptyline)
writeln("");
emptyline = true;
}
-
private void saveSimulation(Simulation simulation, double timeSkip) throws IOException {
- GUISimulationConditions cond = simulation.getConditions();
+ SimulationOptions cond = simulation.getOptions();
writeln("<simulation status=\"" + enumToXMLName(simulation.getStatus()) + "\">");
indent++;
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\"/>");