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)
- 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
-Each configuration has an fcid (FlightConfigurationId)
-FlightConfigurationID is a new type.
- small wrapper class around String
- provides better traceability, error detection, readability
- the fcid is now the hashMap key for any FlightConfigurationSet
-rename Configuration => FlightConfiguration (to be more explicit about class purpose)
-combine MotorInstance =><= motorConfiguration
-Refactor ThrustCurveMotorInstance into an outer public class
-MotorId => (ren) => MotorInstanceID
-fold IgnitionConfiguration => <MotorInstance>.<IgnitionConfiguration>
-Created IgnitionEvent class
-Implemented partial checking for file version 1.8
-rename FlightConfigurationImpl => FlightConfigurationSet
-rename MotorFlightConfigurationImpl => MotorConfigurationSet
- Rockets now list all configurations
-implemented a FlightConfigurationSet of FlightConfigurations
- getActiveStages() now correctly returns only active stages
- getActiveComponents() now returns children of all active stages exactly once
- Refactored the shape generate routines in rocketfigure
- correctly omits inactive stages
- always includes active stages
-Configuration refactor
-stages are toggled individually
-removed set-up-to-stage method
-MotorInstance refactor: multiple Lists -> one map<MotorId,MotorInstance>
moved most of the fields to MotorInstance.java