import net.sf.openrocket.database.Databases;
import net.sf.openrocket.document.OpenRocketDocument;
import net.sf.openrocket.document.Simulation;
-import net.sf.openrocket.document.StorageOptions;
import net.sf.openrocket.document.Simulation.Status;
+import net.sf.openrocket.document.StorageOptions;
import net.sf.openrocket.file.RocketLoadException;
import net.sf.openrocket.file.RocketLoader;
import net.sf.openrocket.file.simplesax.ElementHandler;
import net.sf.openrocket.rocketcomponent.EllipticalFinSet;
import net.sf.openrocket.rocketcomponent.EngineBlock;
import net.sf.openrocket.rocketcomponent.ExternalComponent;
+import net.sf.openrocket.rocketcomponent.ExternalComponent.Finish;
import net.sf.openrocket.rocketcomponent.FinSet;
+import net.sf.openrocket.rocketcomponent.FinSet.TabRelativePosition;
import net.sf.openrocket.rocketcomponent.FreeformFinSet;
import net.sf.openrocket.rocketcomponent.IllegalFinPointException;
import net.sf.openrocket.rocketcomponent.InnerTube;
import net.sf.openrocket.rocketcomponent.RingComponent;
import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.rocketcomponent.RocketComponent;
+import net.sf.openrocket.rocketcomponent.RocketComponent.Position;
import net.sf.openrocket.rocketcomponent.ShockCord;
import net.sf.openrocket.rocketcomponent.Stage;
import net.sf.openrocket.rocketcomponent.Streamer;
import net.sf.openrocket.rocketcomponent.Transition;
import net.sf.openrocket.rocketcomponent.TrapezoidFinSet;
import net.sf.openrocket.rocketcomponent.TubeCoupler;
-import net.sf.openrocket.rocketcomponent.ExternalComponent.Finish;
-import net.sf.openrocket.rocketcomponent.FinSet.TabRelativePosition;
-import net.sf.openrocket.rocketcomponent.RocketComponent.Position;
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.FlightEvent.Type;
+import net.sf.openrocket.simulation.GUISimulationConditions;
import net.sf.openrocket.startup.Application;
import net.sf.openrocket.unit.UnitGroup;
import net.sf.openrocket.util.BugException;
// BodyTube
setters.put("BodyTube:radius", new DoubleSetter(
- Reflection.findMethodStatic(BodyTube.class, "setRadius", double.class),
+ Reflection.findMethodStatic(BodyTube.class, "setOuterRadius", double.class),
"auto",
- Reflection.findMethodStatic(BodyTube.class, "setRadiusAutomatic", boolean.class)));
+ Reflection.findMethodStatic(BodyTube.class, "setOuterRadiusAutomatic", boolean.class)));
// Transition
setters.put("Transition:shape", new EnumSetter<Transition.Shape>(
// LaunchLug
setters.put("LaunchLug:radius", new DoubleSetter(
- Reflection.findMethodStatic(LaunchLug.class, "setRadius", double.class)));
+ Reflection.findMethodStatic(LaunchLug.class, "setOuterRadius", double.class)));
setters.put("LaunchLug:length", new DoubleSetter(
Reflection.findMethodStatic(LaunchLug.class, "setLength", double.class)));
setters.put("LaunchLug:thickness", new DoubleSetter(
Setter s = DocumentConfig.setters.get(setterKey);
if (s != null) {
// Setter found
- System.out.println("Calling with key " + setterKey);
s.set(component, content, attributes, warnings);
break;
}
} catch (NumberFormatException ignore) {
}
+ // TODO: HIGH: Store and load launchRodVelocity
data = new FlightData(maxAltitude, maxVelocity, maxAcceleration, maxMach,
- timeToApogee, flightTime, groundHitVelocity);
+ timeToApogee, flightTime, groundHitVelocity, Double.NaN);
}
data.getWarningSet().addAll(warningSet);
setMethod = set;
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
setMethod.invoke(c, s);
setMethod = set;
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
try {
setMethod = set;
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
this.enabledMethod = enabledMethod;
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
setMethod = set;
}
+ @Override
public void set(RocketComponent c, String s, HashMap<String, String> attributes,
WarningSet warnings) {
this.type = type;
}
+ @Override
public void set(RocketComponent c, String name, HashMap<String, String> attributes,
WarningSet warnings) {
class PositionSetter implements Setter {
+ @Override
public void set(RocketComponent c, String value, HashMap<String, String> attributes,
WarningSet warnings) {
class ClusterConfigurationSetter implements Setter {
+ @Override
public void set(RocketComponent component, String value, HashMap<String, String> attributes,
WarningSet warnings) {