Check for tube children for motor mounts
This commit is contained in:
parent
f9bfb1fe43
commit
b696e6f4b1
@ -45,9 +45,26 @@ public class SimulationListDTO {
|
|||||||
continue;
|
continue;
|
||||||
}
|
}
|
||||||
for (RocketComponent stageChild : stage.getChildren()) {
|
for (RocketComponent stageChild : stage.getChildren()) {
|
||||||
// We can only really use body tubes as motor mounts, since other stuff (e.g. inner tube) is not supported in RASAero
|
if (stageChild instanceof BodyTube) {
|
||||||
if (stageChild instanceof BodyTube && ((BodyTube) stageChild).hasMotor()) {
|
// First check if the body tube itself has a motor
|
||||||
|
if (((BodyTube) stageChild).hasMotor()) {
|
||||||
mounts.put(stage, (BodyTube) stageChild);
|
mounts.put(stage, (BodyTube) stageChild);
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
// Then check if it has an inner tube with a motor
|
||||||
|
else {
|
||||||
|
boolean addedMount = false;
|
||||||
|
for (RocketComponent tubeChild : stageChild.getChildren()) {
|
||||||
|
if (tubeChild instanceof MotorMount && ((MotorMount) tubeChild).hasMotor()) {
|
||||||
|
mounts.put(stage, (MotorMount) tubeChild);
|
||||||
|
addedMount = true;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
if (addedMount) {
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user