# 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
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
- Initial selected configuration is the last loaded
- Correctly loads the correct config Id for each simulation
- Can correctly display the Config Id for each sim. (both in table, and edit)
-ParameterSetModel fixed - controlled configuration in the main window. et al.
- now implements a generic ComboBoxModel<T>, instead of just a FlightConfigurationId.
- events from a rocket start out disabled, and are turned on by the RocketLoader
- FlightConfgurations will once again describe their contained motors, if not explicitly named otherwise
- Refined ComponentChangeEvent type enum
- Added other miscellaneous debugging statements and methods
RailButtons can be loaded, and edited, but not really displayed.
- data entry has defined file parameters, but needs some debugging.
- added icons for component creation. The button just needs to be uncommented
- display works, but only for rotation = 0;
- requires a new type of shape drawing. Not inherently hard, just tedious.
AutoRadialOffset is a boolean flag on parallel stages
- when enabled, the radialOffset is automatically
- auto radius is based on the max radius of contained components
- Selecting an option in the Ignition Chooser dialog updates itself
- When updating all motor ignition events, the default is also updated.
- removed isDefaultMotorInstance from MotorMounts
- default is always the Empty Instance, which has a built in test: 'isEmpty'
- in MotorConfigurationPanel: ignition events are gray out, if they match the default ignition event
- The active / default configuration is stored in the Rocket's ParameterSet.
- Any use of it should be retrieved from here.
- Don't Repeat Yourself
- RocketPanel updates the rocket's default/active configuration, and only draws that one
- updated code for setting new Motor to a MotorInstance (in the MotorMounts)
- Added set/get InstanceCount methods to BoosterSet, PodSets.
- changed order of editing tabs for BoosterSets, PodSets.
- When editing MotorMounts, fixed an incorrect model reference.