3 Commits

Author SHA1 Message Date
Daniel Williams
95d497827d
Revert "Fix 525" 2020-02-15 09:23:01 -05:00
JoePfeiffer
85c21e5812 This is a much bigger commit than I like to make, and will result in a much bigger
PR than I like as well.  All I can do is apologize...

Fixes length calculation in RocketPanel.

(1) Finished switching over from deprecated getBounds() function to getBoundingBox().
getBounds() function is removed.

(2) 3D rendering code had its own getBounds().  Switched this over to
RocketComponent:getBoundingBox() as well

(3) Made getBoundingBox() consistently get the bounding box relative to the component.
Implementations for some components were calculating box relative to start of rocket

(4) Used InstanceMap to iterate through all instances of components in creating bounding box.
2019-06-17 15:25:27 -06:00
JoePfeiffer
6c535bff94 Modified thrustcurve serialization to be more robust in the case of
some common (but generally not important) errors in thrustcurves, and
not enter thrustcurves that will cause simulation failures into the
database.

(1) Permits thrustcurves to start at time 0 with a nonzero thrust.
Previous code inserted a datapoint with time 0 and thrust 0; this
caused thrust interpolation code to fail while running a simulation.
If the first datapoint is at a time greater than 0 it does enter a
(0, 0) datapoint, as this is the correct documented behavior for RASP
files.

(2) Permits thrustcurves to end with a nonzero thrust.  Similarly to
the previous case, the old code entered a new datapoint at the same
time as the previous end of thrust with thrust 0, which would break
thrust interpolation.

(3) Thrustcurves that have a zero-thrust datapoint and a non-zero
thrust datapoint at time 0 have the first datapoint removed.

(4) Thrustcurves with more serious errors -- mainly multiple thrusts
at a single time -- aren't entered into the database, as they will
break thrust interpolation and there is no obvious way to guess which
of the datapoints is correct, or to see how to average them.
2019-02-09 18:00:30 -07:00