- 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.
radialoffset may be set to "auto" instead of a number. In this case, the
radial offset of the stage will be auto positioned to just touch its
parent stage. (offset = radius_parent + radius_p-stage)
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
Positioning Behavior of RocketComponent defaulted to returning
NaN or zero during unordered initialization.
This prevented proper loading of Rocksim files.
- Launch Lugs correctly position themselves
(used to default to the centerline of the rocket)
added LaunchLugTest class
- Booster Sets automatically adjust radial distance
- based on own, and others' body radius.
- Refactored shiftCoordinates(...) => getInstanceLocations()
- MassCalculator class:
Debug toggle will print debug-level output to stderr
fixed / reimplemented:
getCG(...) -> getCM( FlightConfiguration, MassCalcType);
-> getRotationalInertia( FlightConfiguration, MassCalcType);
-> getLongitudinalInertia( FlightConfiguration, MassCalcType);
- MassData class:
can now add MassData classes
Instanced componets w/children:
take into account component mass...
propellantMass field is vague: no indication whether it's include in the inertia or not.
longitudinalInertia => rollMOI (?)
rotationalInertia => yaw / pitch MOI (?)
assorted other fixes
- added unit test classes:
... .masscalc.MassCalculatorTest;
... .masscalc.MassDataTest;
- 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)