import net.sf.openrocket.logging.LogHelper;
import net.sf.openrocket.material.Material;
import net.sf.openrocket.motor.Motor;
-import net.sf.openrocket.motor.MotorDigest;
-import net.sf.openrocket.motor.ThrustCurveMotor;
import net.sf.openrocket.rocketcomponent.BodyComponent;
import net.sf.openrocket.rocketcomponent.BodyTube;
import net.sf.openrocket.rocketcomponent.Bulkhead;
// No motors
if (motors.size() == 0) {
- String str = "No motor with designation '" + designation + "'";
- if (manufacturer != null)
- str += " for manufacturer '" + manufacturer + "'";
- str += " found.";
- warnings.add(str);
+ Warning.MissingMotor mmw = new Warning.MissingMotor();
+ mmw.setDesignation(designation);
+ mmw.setDigest(digest);
+ mmw.setDiameter(diameter);
+ mmw.setLength(length);
+ mmw.setManufacturer(manufacturer);
+ mmw.setType(type);
+ warnings.add(mmw);
return null;
}
// One motor
if (motors.size() == 1) {
Motor m = motors.get(0);
- if (digest != null && !MotorDigest.digestMotor(m).equals(digest)) {
+ if (digest != null && !digest.equals(m.getDigest())) {
String str = "Motor with designation '" + designation + "'";
if (manufacturer != null)
str += " for manufacturer '" + manufacturer + "'";
// Check for motor with correct digest
for (Motor m : motors) {
- if (MotorDigest.digestMotor(m).equals(digest)) {
+ if (digest.equals(m.getDigest())) {
return m;
}
}
// No digest, check for preferred digest (OpenRocket <= 1.1.0)
// TODO: MEDIUM: This should only be done for document versions 1.1 and below
for (Motor m : motors) {
- if (PreferredMotorDigests.DIGESTS.contains(MotorDigest.digestMotor(m))) {
+ if (PreferredMotorDigests.DIGESTS.contains(m.getDigest())) {
return m;
}
}
double timeToApogee = Double.NaN;
double flightTime = Double.NaN;
double groundHitVelocity = Double.NaN;
+ double launchRodVelocity = Double.NaN;
+ double deploymentVelocity = Double.NaN;
try {
maxAltitude = DocumentConfig.stringToDouble(attributes.get("maxaltitude"));
DocumentConfig.stringToDouble(attributes.get("groundhitvelocity"));
} catch (NumberFormatException ignore) {
}
+ try {
+ launchRodVelocity = DocumentConfig.stringToDouble(attributes.get("launchrodvelocity"));
+ } catch (NumberFormatException ignore) {
+ }
+ try {
+ deploymentVelocity = DocumentConfig.stringToDouble(attributes.get("deploymentvelocity"));
+ } catch (NumberFormatException ignore) {
+ }
- // TODO: HIGH: Store and load launchRodVelocity
data = new FlightData(maxAltitude, maxVelocity, maxAcceleration, maxMach,
- timeToApogee, flightTime, groundHitVelocity, Double.NaN);
+ timeToApogee, flightTime, groundHitVelocity, launchRodVelocity, deploymentVelocity);
}
data.getWarningSet().addAll(warningSet);