Allow user to turn off CD override for subcomponents
This commit is contained in:
parent
d076c54c9a
commit
94bc305ccb
@ -82,11 +82,6 @@ public abstract class ComponentAssembly extends RocketComponent implements Axial
|
|||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isSubcomponentsOverridden() {
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Null method (ComponentAssembly has no mass of itself).
|
* Null method (ComponentAssembly has no mass of itself).
|
||||||
*/
|
*/
|
||||||
@ -167,16 +162,6 @@ public abstract class ComponentAssembly extends RocketComponent implements Axial
|
|||||||
fireComponentChangeEvent(ComponentChangeEvent.NONFUNCTIONAL_CHANGE);
|
fireComponentChangeEvent(ComponentChangeEvent.NONFUNCTIONAL_CHANGE);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Override
|
|
||||||
public void setSubcomponentsOverridden(boolean override) {
|
|
||||||
// No-op
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
|
||||||
public boolean isOverrideSubcomponentsEnabled() {
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
protected void update() {
|
protected void update() {
|
||||||
this.updateBounds();
|
this.updateBounds();
|
||||||
|
@ -63,9 +63,9 @@ public class OverrideTest extends BaseTestCase {
|
|||||||
assertNotNull(finset);
|
assertNotNull(finset);
|
||||||
|
|
||||||
// We start by just checking the override flags
|
// We start by just checking the override flags
|
||||||
// Initially no overrides except for sustainer (a componenent assembly)
|
// Initially no overrides
|
||||||
assertFalse(sustainer.isCDOverridden());
|
assertFalse(sustainer.isCDOverridden());
|
||||||
assertTrue(sustainer.isSubcomponentsOverridden());
|
assertFalse(sustainer.isSubcomponentsOverridden());
|
||||||
assertFalse(sustainer.isCDOverriddenByAncestor());
|
assertFalse(sustainer.isCDOverriddenByAncestor());
|
||||||
|
|
||||||
assertFalse(bodytube.isCDOverridden());
|
assertFalse(bodytube.isCDOverridden());
|
||||||
@ -76,12 +76,8 @@ public class OverrideTest extends BaseTestCase {
|
|||||||
assertFalse(finset.isSubcomponentsOverridden());
|
assertFalse(finset.isSubcomponentsOverridden());
|
||||||
assertFalse(finset.isCDOverriddenByAncestor());
|
assertFalse(finset.isCDOverriddenByAncestor());
|
||||||
|
|
||||||
// SubcomponentsOverridden can't be turned off for component assemblies
|
// Override sustainer CD and subcomponents
|
||||||
sustainer.setSubcomponentsOverridden(false);
|
sustainer.setSubcomponentsOverridden(true);
|
||||||
|
|
||||||
assertTrue(sustainer.isSubcomponentsOverridden());
|
|
||||||
|
|
||||||
// Override sustainer CD and others get overridden
|
|
||||||
sustainer.setCDOverridden(true);
|
sustainer.setCDOverridden(true);
|
||||||
sustainer.setOverrideCD(0.5);
|
sustainer.setOverrideCD(0.5);
|
||||||
|
|
||||||
@ -106,11 +102,11 @@ public class OverrideTest extends BaseTestCase {
|
|||||||
AerodynamicForces forces = calc.getAerodynamicForces(configuration, conditions, warnings);
|
AerodynamicForces forces = calc.getAerodynamicForces(configuration, conditions, warnings);
|
||||||
assertEquals(sustainer.getOverrideCD(), forces.getCD(), MathUtil.EPSILON);
|
assertEquals(sustainer.getOverrideCD(), forces.getCD(), MathUtil.EPSILON);
|
||||||
|
|
||||||
// Turn off sustainer override; body tube and nose cone aren't overridden by ancestor but fin set is
|
// Turn off sustainer subcomponents override; body tube and nose cone aren't overridden by ancestor but fin set is
|
||||||
sustainer.setCDOverridden(false);
|
sustainer.setSubcomponentsOverridden(false);
|
||||||
|
|
||||||
// CD of rocket should be overridden CD of body tube plus calculated CD of nose cone
|
// CD of rocket should be overridden CD of sustainer plus body tube plus calculated CD of nose cone
|
||||||
Map<RocketComponent, AerodynamicForces> forceMap = calc.getForceAnalysis(configuration, conditions, warnings);
|
Map<RocketComponent, AerodynamicForces> forceMap = calc.getForceAnalysis(configuration, conditions, warnings);
|
||||||
assertEquals(bodytube.getOverrideCD() + forceMap.get(nosecone).getCD(), forceMap.get(rocket).getCD(), MathUtil.EPSILON);
|
assertEquals(sustainer.getOverrideCD() + bodytube.getOverrideCD() + forceMap.get(nosecone).getCD(), forceMap.get(rocket).getCD(), MathUtil.EPSILON);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user