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
# FlightConfigurations behave differently than the ...ParameterSet instance
- Rockets no longer have a defaultConfig, but have a selectedConfiguration
- therefore these function were completely re-implemented native to the Rocket class
- FlightConfigurationTest verifies this functionality
- simplified several function calls through the code base
- added convenience methods for getting the config[] to the UI
# expanded RocketTest to verify Rocket.copyWithOriginalID():
- rocket is cloned, so non-trivial members must be cloned as well.
- the default value is now simply an entry in the map
- size() returns only the number of overrides
- getIds() returns only the ids of overrides
- added ParemeterSetTest to test FlightConfigurableParameterSet
- removed (already defanged) event handling functions from MotorConfig
- removed (already defanged) event handling functions from DeploymentConfig
- removed (already defanged) event handling functions from IgnitionConfig
- FlightConfigurableParameter no longer extends ChangeSet
- fully parameterized DoubleModel to <T extends Enum<T> >
- fully parameterized EnumModel to <T extends Enum<T> >
- in FlightConfiguration:
-- adjusted functions to consistently refer to <x>ActiveMotors()
-- corresponding functions now act the same way
- removed '.release()' calls from FlightConfiguration
Restored Automatic ignition Option
- "bottom" core stage is the lowest centerline ('AFTER')
- Parallel Stages are always considered as 'launch' stages...
and thus ignite on launch.
Motors now copy Ignition parameters when loaded into a rocket.
Added additional error checking in FlightConfigurationID
- class is now tolerant of random string initializations
Removed Automatic ignition Option
- "bottom" core stage is ill-defined in current configuration
- 'automatic' values in files get loaded as 'launch'
Fixed file values for loading Pods
UI elements now change per-configuration separations not the defaults
fixed separation configuration file-write code.
Added max-time guard for simulations at 1200 seconds.
FlightConfiguration.clone() now correctly clones internal data
-> caused mysterious disapearing-rocket-display bug
-> added FlightConfiguration.instanceNumber for debugging
Refined stage-set-active methods to fine tune event firings
Improved output of various debug methods.
Fixed various warnings
availability flag provided by Thrustcurve.org. Change serialization
process to pull current files from Thrustcurve.org using the xml api,
use the corrected data for diameter and length, and use a consistent
motor designation. Added fields to the Motor chooser - case info is a
column in the listing (replacing MotorType), the other info is in the
motor details tab. Added toggle to hide motors which are OOP.
Motors are now cloned for each new simulation (including background and foreground runs)
-> motors are now cloned within the configuration clone method.
-> MotorInstance.reset() resets instance to launch state
Removed spurious negative time-step check in ThrustCurveMotorInstance:154
-> was triggered during normal simulation operations.
Added MotorInstance time updates to AbstractSimulationStepper:
-> moved from MotorInstanceConfiguration.step(...)
Misc variable name changes to be more descriptive