# 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
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.
- Corrected FlightConfiguration, MotorConfiguration ID issues
- output code no longer outputs extra FlightConfigurations
- recovery Devices no longer print out FlightConfigurations w/o specific settings
- Reverted Default Value for FlightConfigurationSet is just a member field
- creates extraneous code when included in the map.
- fixed corresponding display issues.
- Default Parameter in FlightConfigurationSet<T> is now totally separate from those listed in the map.
- note: the default option =/= the option for the default FlightConfiguration ...
- defaultValue is now included in the map, with a dedicated static final key.
- defaultValue may only be replaced, not removed.
- "Select Ignition" button now functions correctly
- "Reset Ignition" button functions correctly
-Fixed Motor Choosing UI Function
-Fixed Motor Remove UI Function
-Fixed UI display bug: pass FlightConfigIDs instead of naked Strings.
-FlightConfigurationIDs now filter out keytext only. (spurious "key: " appended)
-Fixed extra de-select when navigating MotorSelection / FlightConfig selection tables
- code no longer sets selected cell / config as the default item