JoePfeiffer
796d245bbe
fireChangeEvent() when activating/deactivating a stage to force recalculation of bounds on stage separation
2020-09-26 17:42:57 -06:00
JoePfeiffer
1036ac98bf
add logging to BarrowmanCalculator for debugging
2020-09-26 16:41:00 -06:00
Joe Pfeiffer
2a46d67097
Merge pull request #782 from JoePfeiffer/fix-768a
...
Only consider active stages when calculating drag
2020-09-12 15:02:11 -06:00
JoePfeiffer
a44c90d522
Since FlightConfiguration:getContextListAt() is now only returning contexts which are active, change name to getActiveContextListAt(). Note that it's only ever called from FlightConfiguration:getActiveInstances() and recursively, so this is making the two method names consistent.
2020-09-12 14:49:21 -06:00
JoePfeiffer
5e64b3e565
Correct FlightConfigurationTest to enable Stage 1 of Falcon9Heavy before using getActiveInstances() to obtain its component instances
2020-09-12 12:29:24 -06:00
JoePfeiffer
20ab8ef8b1
Only calculate instancemap from active components
...
One thing to mention is I had a choice of either adding a special case for the rocket itself, or change the result of isStageActive for stage -1 to be true instead of false as previously. I couldn't see a place where the previous version mattered, so I changed it.
2020-09-09 17:17:10 -06:00
JoePfeiffer
206ba58a7e
Modified MassCalculator unit test to test at nonzero ignition time
2020-09-09 17:10:29 -06:00
JoePfeiffer
f5d56f6e99
Correct motor mass calculation for motor ignition time
...
Adds the MotorClusterState from the current SimulationState to the MassCalculation constructor. The ignition time of each motor is subtracted from the current simulationTime to calculate its current mass.
MassCalculation is also used for static analysis; in this case a synthetic time is passed (and there is no SimulationState). In this case, a null is passed in to the MassCalculation constructor; whether or not this the case is used to determine whether or not to calculate a motor time based on its ignition time.
Also clamp motorTime from MotorClusterState to be no less than 0 when calculating motor mass.
2020-09-09 17:10:29 -06:00
JoePfeiffer
b64a3b3fa8
The simulation now uses mass data from the entire motor as a unit,
...
rather than separating out the propellant data. This commit clarifies
the code by replacing instances of "propellant" with "motor" in
variable names and messages where appropriate.
It does not update the translations into other languages.
2020-09-09 17:10:29 -06:00
Daniel Williams
3f7009b9f7
Merge pull request #769 from teyrana/fix/755/cg-error
...
[fixes #755 ] Correctly calculate cg.x override
2020-09-05 15:11:47 -04:00
Daniel Williams
0289d36fb3
Merge pull request #770 from teyrana/fix/758/mass-comp-render
...
Fix #758 -- Rocket Figure should correctly display mass components with radius offsets.
2020-09-02 22:36:25 -04:00
Daniel_M_Williams
bd09354fd3
[ fixes #755 ] Correctly calculates mass override (particularly on stages)
2020-09-02 22:33:39 -04:00
Daniel_M_Williams
2150223cb1
[fix][ui][graphics] Mass components now display their Radial / Angle position in Back Views
2020-09-02 21:36:58 -04:00
Daniel_M_Williams
01562d6ae1
[fix][ui][graphics] Mass components now display their Radial / Angle position in Side Views
2020-09-02 21:36:58 -04:00
Daniel_M_Williams
685b40ef2f
[fix][ui] Change Display name for MassComponent from 'Unspecified' to 'Mass Component'
2020-09-01 20:14:49 -04:00
Daniel_M_Williams
5b94bedb5f
[ fixes #755 ] Correctly calculate cg.x override
2020-09-01 19:58:17 -04:00
Daniel Williams
86b0b0fcbd
Merge pull request #767 from teyrana/fix/756/bound-box-error
...
Fixes #756 -- Launch Lug & Stage Dimensions
2020-09-01 19:15:16 -04:00
Daniel_M_Williams
58712cb69f
[fix] RocketFigure now zooms to whole rocket extents even iff stages are deactivated
2020-09-01 19:14:19 -04:00
Daniel_M_Williams
b9992674ef
[fix] writes new tests to for BoundingBox behavior
2020-09-01 19:14:19 -04:00
Daniel_M_Williams
b0bc372ece
[fix] FlightConfiguration now correctly calculates the bounds of partially-active rockets
2020-09-01 19:14:18 -04:00
Daniel_M_Williams
81b2f60e55
[feat] Implements BoxBounded interface on several RocketComponents
2020-09-01 19:14:18 -04:00
Daniel Williams
709ded2659
Merge pull request #765 from JoePfeiffer/fix-762
...
Don't set a warning if recovery device is deployed while motor is coasting
2020-09-01 19:13:03 -04:00
JoePfeiffer
94a5e1c2d9
fix typo -- two missing right parentheses
2020-08-30 11:44:19 -06:00
JoePfeiffer
724cd3f5dc
Don't set a warning if recovery device is deployed (for instance, due to apogee detect) while motor is coasting.
...
Background: a motor that has burned out can be in one of two states: DELAYING (the delay charge has not yet fired) or SPENT (either the delay charge, if any, has fired or there was no delay charge).
The existing SimulationStatus:getActiveMotors() method returned a list of motors that were active for the stage, and which were not SPENT. The test for the warning redudantly tested for a SPENT motor, still didn't test for a DELAYING motr, and consequently set the warning.
This PR
(1) adds a boolean MotorClusterStatus:isDelaying() method, analogous to the existing state test methods
(2) modifies SimulationStatus.java:getActiveMotors() to return all the motors, not just the ones that aren't SPENT. This is to improve consistency with FlightConfiguration:getActiveMotors(), and to make for a more consistent usage between the two calls to the method.
(3) adds !isDelaying() to the test for the warning.
2020-08-30 11:18:57 -06:00
Daniel Williams
9ca6b0be1a
Merge pull request #709 from teyrana/fix/optimizer
...
[fixes #701 ] Re-enables Rocket Optimizer
2020-08-26 10:43:51 -04:00
Daniel_M_Williams
e33353cf68
[fix] Restores functionality of OptimizationDialog
2020-08-23 22:00:53 -04:00
Daniel_M_Williams
a00636a1ed
[fix] migrates calls from 'simulation.rocket.selected' -> 'simulation.activeconfig'
2020-08-23 22:00:53 -04:00
Daniel_M_Williams
d3a66294d1
[rm][refactor] Optimization Dialog now allows optimizing only on existing, defined simulations
2020-08-23 22:00:53 -04:00
Daniel_M_Williams
73e8caa0e5
[tweak] adjusted default size for the optimization dialog
2020-08-23 22:00:52 -04:00
Daniel_M_Williams
728964531b
[refactor][cleanup] refactored optimization.parameters.StabilityParameter -- shortened function, and removed deprecated function call
2020-08-23 22:00:52 -04:00
Daniel_M_Williams
7c72f3a231
[cleanup] adds 'final' keyword in RocketComponent.findComponent(...)
2020-08-23 22:00:52 -04:00
Daniel_M_Williams
41c06572a7
[fix] Rockets now correctly copy their FlightConfigurations
2020-08-23 22:00:51 -04:00
Daniel_M_Williams
1eb329b850
[fix] when copying documents, the simulation->FlightConfigurationId is correctly copied
2020-08-23 22:00:51 -04:00
Daniel_M_Williams
1d552f99f9
[fix] 'Edit Simulation' Dialog now correctly displays the associated flight configuration
2020-08-23 22:00:51 -04:00
Daniel_M_Williams
70cbc54daf
[cleanup] Applies a bunch of changes suggested by the linter in the Optimization Code
2020-08-22 11:18:03 -04:00
Daniel_M_Williams
aa90feb61b
[version] increments the build label to '20-08-alpha-15'
2020-08-22 09:47:22 -04:00
Daniel_M_Williams
9f8ed13713
[fix][optimizer] update the in-dialog figure when the user clicks 'apply optimization'
2020-08-22 09:47:22 -04:00
Daniel_M_Williams
d7c0e9d8ac
[fix] prevented exception when you remove a optimization row while editing it.
2020-08-22 09:47:22 -04:00
Daniel_M_Williams
28ba049975
[fix] Fixed compile issues; Dialog now opens cleanly
2020-08-22 09:47:22 -04:00
Joe Pfeiffer
75c72806f9
Merge pull request #750 from JoePfeiffer/clamp-calculateFinGeometry
...
clamp x coordinate of intersections
2020-08-18 21:10:37 -06:00
JoePfeiffer
99bdf71ba8
In FinSetCalc.calculateFinGeometry(), make sure x coordinates of interections
...
between lines defining fins and strips being used to estimate geometry aren't beyond bounds of fin.
2020-08-17 17:39:08 -06:00
Daniel Williams
08f49d6a04
Merge pull request #749 from teyrana/fix/741-render-rail-button
...
Fix/741 render rail button
2020-08-16 14:44:58 -04:00
Daniel_M_Williams
a9afb829ef
[cleanup] cleans up some whitespace and redundant variables in FlightConfiguration
2020-08-16 14:34:22 -04:00
Daniel_M_Williams
8a14d98fcc
[ fixes #741 ] RailButtons will correctly identify their first parent BodyTube
2020-08-16 14:32:29 -04:00
Daniel Williams
e90318a7ac
Merge pull request #745 from teyrana/fix/740-button-save-load
...
[fixes #740 ] Railbuttons now correctly load instance-separation
2020-08-14 19:34:24 -04:00
Daniel_M_Williams
68927a0e53
[ fixes #740 ] Railbuttons now correctly load instance-separation
...
Actual fix: removed debugging / dev hard-coding. /facepalm
2020-08-14 19:29:24 -04:00
Daniel Williams
56135aafd4
Merge pull request #744 from teyrana/742-load-crash
...
Resolves #742 - Crash on rocket-load
2020-08-14 19:01:03 -04:00
Daniel_M_Williams
eb197427f2
[fix] tightens up calculation of adjacent SymmetricComponents
2020-08-14 18:51:54 -04:00
Daniel_M_Williams
ac1d6b698a
[refactor] streamlined null checks in SymmetricComponent.get{Prev|Next}SymmetricComponent
2020-08-14 18:40:10 -04:00
Daniel_M_Williams
bbf9c4d8a4
[refactor] adjusted variable names in SymmetricComponent.get{Prev|Next}SymmetricComponent to be more obvious
2020-08-14 18:40:10 -04:00