-Changed default Motor Ignition event to AUTOMATIC
-enabled swing-test path under intellij
-fixed some simple compile errors in swing/test ... IntegrationTest
- added MotorConfiguration constructor which takes a template
-- this allows copy-constructing from the default
-- removed 'name' field: instead, call 'to?Description()'
- condensed & refactored a few debug methods.
- Fixed bugs in the simulation event handling:
-- removed extraneous BURNOUT checks
-- added MotorClusterState.burnOut(..) update calls on BURNOUT event
-- added MotorClusterState.expend(..) update calls on EJECTION_CHARGE event
- MotorInstanceId -> MotorConfigurationId (to reflect actual usage)
-- removed name field (unnecessary)
- changed FlightConfiguration behavior to cache ALL motors, and return active motors as requested
-- updated corresponding active-motor-list updating through to the simulation layers
- *Adjusted event handling in BasicEventSimulationEngine*
-- combined redundant event-handling for IGNITION FlightEvent
-- adjusted parameters for throwing IGNITION FlightEvents
- Added validation method internal to FlightEvent class.
-- documents assumptions about classes are expected for what types of flight events.
- renamed MotorState -> MotorSimulation -> MotorClusterState
- renamed MotorState enums -> ThrustState
- Adjusted MotorConfigurations to be init-linked to a mount, and FCID
-- these are final member fields, and required for construction. And immutable.
- moved IgnitionEvent to motor package
- Adjusted MotorInstanceId to represent a motorCluster key
-- wraps a UUID, and uniquely keyed to its: mount, FCID
- fixed AxialStage methods isLaunchStage() and getPreviousStage()
- added methods to MotorMount interface to reduce extraneous, always-true casts
- various miscellaneous fixes to reflect method changes
- various test fixes
-- added test to verify 'getPreviousStage()' method
- Created MotorState as an enum describing discrete states a motor may be in
- moved ThrustCurveMotorState info back into MotorSimulation
-- MotorSimulation will be used by the simulation code.
-- tracks simulation-time info, such as event times, and current state ( <MotorState> )
- MotorConfiguration no longer have any knowledge about their simulation info
- moved functionality (BUT NOT STATE) into ThrustCurveMotor
-- can query about thrust(t), mass(t), cgx(t)
- Fixed Bug in MassCalculator
-- demonstrated by MassCalculatorTest.testBoosterTotalCM() et al.
-- errors: 1) under-counts instanced children
2) erroneously required component have children before instancing mass
-- N.B. This method is ripe for refactoring, to make it MUCH cleaner....
- Updated numbers on MassCalculator Unit Tests
- Added Test for motor configuration multiplicity (FlightConfigurationTest)
- added new ComponentChangeEvent type: GRAPHIC
- does not change the rocket structure, nor behavior, but requires updates to the UI
- removed event handling from FlightConfiguration
- caused a circular event loop
- also, collected too many responsibilities in the class (bad code smell)
- minor refactor of event handling in Rocket. (no change in behavior)
- Fixed StageSelector behavior
- should now pull selected configuration from rocket
- should now correctly notify rocket (and indirectly, the graphics)
- Simulations now load the configuration ids corresponding to it's file entry.
- involved removing redundand flightconfig id fields
- FROM simulation conditions and simulation options
- TO "Simulation"
- Distilled some unit tests to use all rockets from the TestRocket class.
- Fixed a few warnings
Implemented unit tests for aerodynamic calculators:
- (new) SymmetricComponentCalcTest
- (new) FinSetCalcTest
- (fixed) BarrowmanCalculatorTest
-- seems like bad truth values
- Added debug statements to MassCalculator, enabled by a 'debug' flag
- Adjusted values in MassCalculatorTest
-- added additional unit test cases
- Fixed implementations in MassCalculator
- Implemented getPosition() and getX() in MotorConfiguration
- added motor to test rocket Estes Alpha 3 in TestRockets