- The Rocket#trackStages function needs to handle being updated with the same stage id#, but different instance
- Rocket#update now updates the stageMap
- FlightConfigurations refactored to use stage numbers instead of references.
OpenRocket. At build time, it will utilize the Thrustcurve.org xml api
to download the current information (curve files and supplemental
information). OpenRocket uses the supplemental information to populate
case-info, propellant type, availability as well as correct diameters
and length. Modified motor search dialog to hide unavailable motors and
show case-info.
- These two methods did the same thing, so this patch removes the former from RocketComponent and descendants
- Wherever used, "PositionValue(...)" was replace with "AxialOffset(...)"
- Removed some extraneous redirect definitions of PositionValue(...)
- Fixed some UI references to the old method
- Rocket total mass is split into 'dryMass' and 'propellantMass'
-- each mass type has a corresponding calculation method in MassCalculator
- Calculating Inertias and Center-of-Mass FOR MOTORS assume:
- time-invariant x-coordinate
- time-decreasing density
- mass correctly tracks propellant usage, as measured by thrustCurves
- elimated MassCalcType enum: was not actually solving a problem.
- simply use motorTime: 0 for launch Double.MAX_VALUE for burnout
- NO_MOTORS is represented by a configuration without attached motors
-- try: "rocket.setSelectedConfiguration( rocket.getEmptyConfiguration())"
- 'dry mass' vs 'total mass': 90% of the time, a caller wanted 'total mass'
- total_mass = dry_mass + propellant_mass
- mass @ simulation time wasn't represented by the enum, had existing overloads anyway
- get vs calculate methods:
-- gets revalidate the cache, then retreive specific information
-- calculate simple calculate the desired information, and ignore the cache.
--- I'm particularly confident about cache reliability:
particularly as it doesn't account for changing time during simulation.
- reduced / simplified debugging messages
- Cleaned up the ThrustCurveMotor api interface
-- Converted 'getTimePoints().length' -> 'getSampleSize()'
-- Unified ThrustCurveMotor gets to the form getXXXX(double motorTime)
-- Restricted access for several methods from public -> protected
- Updated ThrustCurveMotorTest.java
Current limitations: Alpha value does not seem to be saved in .ork file, Depends on color chooser having alpha capability. Does not show up as transparent in "3D Unfinished"
- Fixed translation messages
- FlightConfiguration, MotorConfiguration
- correctly display under debug & production
- Fixed exception throw when adding empty-MotorConfiguration to a FlightConfig