Process entire part tree when finding active contexts instead of bailing out early when an inactive component is found.
This commit is contained in:
parent
7d643f4787
commit
d290525099
@ -298,9 +298,7 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
}
|
||||
|
||||
private InstanceMap getActiveContextListAt(final RocketComponent component, final InstanceMap results, final Transformation parentTransform ){
|
||||
final boolean active = this.isComponentActive(component);
|
||||
if (!active)
|
||||
return results;
|
||||
|
||||
final int instanceCount = component.getInstanceCount();
|
||||
final Coordinate[] allOffsets = component.getInstanceOffsets();
|
||||
final double[] allAngles = component.getInstanceAngles();
|
||||
@ -314,9 +312,11 @@ public class FlightConfiguration implements FlightConfigurableParameter<FlightCo
|
||||
final Transformation angleTransform = Transformation.getAxialRotation(allAngles[currentInstanceNumber]);
|
||||
final Transformation currentTransform = componentTransform.applyTransformation(offsetTransform)
|
||||
.applyTransformation(angleTransform);
|
||||
|
||||
// constructs entry in-place
|
||||
results.emplace(component, active, currentInstanceNumber, currentTransform);
|
||||
|
||||
// constructs entry in-place if this component is active
|
||||
if (this.isComponentActive(component)) {
|
||||
results.emplace(component, this.isComponentActive(component), currentInstanceNumber, currentTransform);
|
||||
}
|
||||
|
||||
for(RocketComponent child : component.getChildren()) {
|
||||
getActiveContextListAt(child, results, currentTransform);
|
||||
|
Loading…
x
Reference in New Issue
Block a user