Fix merge conflicts

This commit is contained in:
SiboVG 2023-04-05 23:29:11 +02:00
parent 101d9591fc
commit 4f6b55364d
3 changed files with 28 additions and 30 deletions

View File

@ -1,11 +1,13 @@
package net.sf.openrocket.file.rasaero.importt; package net.sf.openrocket.file.rasaero.importt;
import net.sf.openrocket.aerodynamics.WarningSet;
import net.sf.openrocket.document.Simulation; import net.sf.openrocket.document.Simulation;
import net.sf.openrocket.file.DocumentLoadingContext; import net.sf.openrocket.file.DocumentLoadingContext;
import net.sf.openrocket.file.rasaero.RASAeroCommonConstants;
import net.sf.openrocket.file.rasaero.RASAeroMotorsLoader;
import net.sf.openrocket.file.simplesax.AbstractElementHandler; import net.sf.openrocket.file.simplesax.AbstractElementHandler;
import net.sf.openrocket.file.simplesax.ElementHandler; import net.sf.openrocket.file.simplesax.ElementHandler;
import net.sf.openrocket.file.simplesax.PlainTextHandler; import net.sf.openrocket.file.simplesax.PlainTextHandler;
import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.motor.IgnitionEvent; import net.sf.openrocket.motor.IgnitionEvent;
import net.sf.openrocket.motor.Motor; import net.sf.openrocket.motor.Motor;
import net.sf.openrocket.motor.MotorConfiguration; import net.sf.openrocket.motor.MotorConfiguration;
@ -80,7 +82,7 @@ public class SimulationHandler extends AbstractElementHandler {
} else if (RASAeroCommonConstants.SUSTAINER_LAUNCH_WT.equals(element)) { } else if (RASAeroCommonConstants.SUSTAINER_LAUNCH_WT.equals(element)) {
sustainerLaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT; sustainerLaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT;
} else if (RASAeroCommonConstants.SUSTAINER_CG.equals(element)) { } else if (RASAeroCommonConstants.SUSTAINER_CG.equals(element)) {
sustainerCG = Double.parseDouble(content) / RASAeroCommonConstants.RASAERO_TO_OPENROCKET_LENGTH; sustainerCG = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH;
} else if (RASAeroCommonConstants.BOOSTER1_ENGINE.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER1_ENGINE.equals(element)) {
booster1Engine = RASAeroMotorsLoader.getMotorFromRASAero(content, warnings); booster1Engine = RASAeroMotorsLoader.getMotorFromRASAero(content, warnings);
} else if (RASAeroCommonConstants.BOOSTER1_IGNITION_DELAY.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER1_IGNITION_DELAY.equals(element)) {
@ -90,7 +92,7 @@ public class SimulationHandler extends AbstractElementHandler {
} else if (RASAeroCommonConstants.BOOSTER1_LAUNCH_WT.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER1_LAUNCH_WT.equals(element)) {
booster1LaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT; booster1LaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT;
} else if (RASAeroCommonConstants.BOOSTER1_CG.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER1_CG.equals(element)) {
booster1CG = Double.parseDouble(content) / RASAeroCommonConstants.RASAERO_TO_OPENROCKET_LENGTH; booster1CG = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH;
} else if (RASAeroCommonConstants.INCLUDE_BOOSTER1.equals(element)) { } else if (RASAeroCommonConstants.INCLUDE_BOOSTER1.equals(element)) {
includeBooster1 = Boolean.parseBoolean(content); includeBooster1 = Boolean.parseBoolean(content);
} else if (RASAeroCommonConstants.BOOSTER2_ENGINE.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER2_ENGINE.equals(element)) {
@ -100,7 +102,7 @@ public class SimulationHandler extends AbstractElementHandler {
} else if (RASAeroCommonConstants.BOOSTER2_LAUNCH_WT.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER2_LAUNCH_WT.equals(element)) {
booster2LaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT; booster2LaunchWt = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_WEIGHT;
} else if (RASAeroCommonConstants.BOOSTER2_CG.equals(element)) { } else if (RASAeroCommonConstants.BOOSTER2_CG.equals(element)) {
booster2CG = Double.parseDouble(content) / RASAeroCommonConstants.RASAERO_TO_OPENROCKET_LENGTH; booster2CG = Double.parseDouble(content) / RASAeroCommonConstants.OPENROCKET_TO_RASAERO_LENGTH;
} else if (RASAeroCommonConstants.INCLUDE_BOOSTER2.equals(element)) { } else if (RASAeroCommonConstants.INCLUDE_BOOSTER2.equals(element)) {
includeBooster2 = Boolean.parseBoolean(content); includeBooster2 = Boolean.parseBoolean(content);
} }
@ -116,15 +118,9 @@ public class SimulationHandler extends AbstractElementHandler {
} }
// Add motors to the rocket // Add motors to the rocket
MotorMount sustainerMount = addMotorToStage(0, sustainerEngine, sustainerIgnitionDelay, fcid, warnings); MotorMount sustainerMount = addMotorToStage(0, sustainerEngine, sustainerIgnitionDelay, fcid, true, warnings);
MotorMount booster1Mount = null; MotorMount booster1Mount = addMotorToStage(1, booster1Engine, booster1IgnitionDelay, fcid, includeBooster1, warnings);
if (includeBooster1) { MotorMount booster2Mount = addMotorToStage(2, booster2Engine, 0.0, fcid, includeBooster2, warnings);
booster1Mount = addMotorToStage(1, booster1Engine, booster1IgnitionDelay, fcid, warnings);
}
MotorMount booster2Mount = null;
if (includeBooster2) {
booster2Mount = addMotorToStage(2, booster2Engine, 0.0, fcid, warnings);
}
// Set separation settings // Set separation settings
setSeparationDelay(0, 0.0, fcid); setSeparationDelay(0, 0.0, fcid);
@ -148,16 +144,17 @@ public class SimulationHandler extends AbstractElementHandler {
} }
/** /**
* Adds a motor to the specified stage. * Add a new motor to a stage
* @param stageNr The stage number * @param stageNr number of the stage to add the motor to
* @param motor The motor to add * @param motor motor to add
* @param ignitionDelay The ignition delay * @param ignitionDelay ignition delay of the motor
* @param id The flight configuration id * @param id flight config id to alter
* @param enableMotorMount whether the motor mount should be enabled or disabled
* @param warnings The warning set * @param warnings The warning set
* @return The motor mount in which the motor is added, or null if no motor was added
*/ */
private MotorMount addMotorToStage(final int stageNr, final Motor motor, final Double ignitionDelay, private MotorMount addMotorToStage(final int stageNr, final Motor motor, final Double ignitionDelay,
final FlightConfigurationId id, final WarningSet warnings) { final FlightConfigurationId id, boolean enableMotorMount,
final WarningSet warnings) {
if (motor == null || rocket.getStage(stageNr) == null) { if (motor == null || rocket.getStage(stageNr) == null) {
return null; return null;
} }
@ -183,6 +180,7 @@ public class SimulationHandler extends AbstractElementHandler {
motorConfig.setIgnitionEvent(IgnitionEvent.AUTOMATIC); motorConfig.setIgnitionEvent(IgnitionEvent.AUTOMATIC);
} }
mount.setMotorConfig(motorConfig, id); mount.setMotorConfig(motorConfig, id);
mount.setMotorMount(enableMotorMount);
return mount; return mount;
} }
@ -201,20 +199,18 @@ public class SimulationHandler extends AbstractElementHandler {
/** /**
* Returns the furthest back motor mount in the stage. * Returns the furthest back motor mount in the stage.
* @param stage stage number * @param stageNr stage number
* @return furthest back motor mount of the stage * @return furthest back motor mount of the stage
*/ */
private MotorMount getMotorMountForStage(int stage) { private MotorMount getMotorMountForStage(int stageNr) {
MotorMount mount = null; AxialStage stage = (AxialStage) rocket.getChild(stageNr);
for (RocketComponent component : rocket.getStage(stage)) { for (int i = stage.getChildCount() - 1; i > 0; i--) {
RocketComponent component = stage.getChild(i);
if (component instanceof MotorMount) { if (component instanceof MotorMount) {
mount = (MotorMount) component; return (MotorMount) component;
} }
} }
if (mount != null) { return null;
mount.setMotorMount(true);
}
return mount;
} }
private void applyMassOverrides(WarningSet warnings) { private void applyMassOverrides(WarningSet warnings) {

View File

@ -1,9 +1,11 @@
package net.sf.openrocket.file.rasaero.importt; package net.sf.openrocket.file.rasaero.importt;
import net.sf.openrocket.aerodynamics.WarningSet;
import net.sf.openrocket.file.DocumentLoadingContext; import net.sf.openrocket.file.DocumentLoadingContext;
import net.sf.openrocket.file.rasaero.RASAeroCommonConstants;
import net.sf.openrocket.file.rasaero.RASAeroMotorsLoader;
import net.sf.openrocket.file.simplesax.AbstractElementHandler; import net.sf.openrocket.file.simplesax.AbstractElementHandler;
import net.sf.openrocket.file.simplesax.ElementHandler; import net.sf.openrocket.file.simplesax.ElementHandler;
import net.sf.openrocket.logging.WarningSet;
import net.sf.openrocket.rocketcomponent.Rocket; import net.sf.openrocket.rocketcomponent.Rocket;
import net.sf.openrocket.simulation.SimulationOptions; import net.sf.openrocket.simulation.SimulationOptions;
import org.xml.sax.SAXException; import org.xml.sax.SAXException;