[#1629] Show calculated mass & CG for non-overridden components

This commit is contained in:
SiboVG 2023-06-25 02:19:51 +02:00
parent a18b10746c
commit bb2ad98d98

View File

@ -562,6 +562,9 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
*/ */
public final double getOverrideMass() { public final double getOverrideMass() {
mutex.verify(); mutex.verify();
if (!isMassOverridden()) {
overrideMass = getComponentMass();
}
return overrideMass; return overrideMass;
} }
@ -612,6 +615,12 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
} }
checkState(); checkState();
massOverridden = o; massOverridden = o;
// If mass not overridden, set override mass to the component mass
if (!massOverridden) {
overrideMass = getComponentMass();
}
updateChildrenMassOverriddenBy(); updateChildrenMassOverriddenBy();
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
} }
@ -627,6 +636,9 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
*/ */
public final Coordinate getOverrideCG() { public final Coordinate getOverrideCG() {
mutex.verify(); mutex.verify();
if (!isCGOverridden()) {
overrideCGX = getComponentCG().x;
}
return getComponentCG().setX(overrideCGX); return getComponentCG().setX(overrideCGX);
} }
@ -637,6 +649,9 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
*/ */
public final double getOverrideCGX() { public final double getOverrideCGX() {
mutex.verify(); mutex.verify();
if (!isCGOverridden()) {
overrideCGX = getComponentCG().x;
}
return overrideCGX; return overrideCGX;
} }
@ -687,6 +702,12 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab
} }
checkState(); checkState();
cgOverridden = o; cgOverridden = o;
// If CG not overridden, set override CG to the component CG
if (!cgOverridden) {
overrideCGX = getComponentCG().x;
}
updateChildrenCGOverriddenBy(); updateChildrenCGOverriddenBy();
fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE); fireComponentChangeEvent(ComponentChangeEvent.MASS_CHANGE);
} }