2867 Commits

Author SHA1 Message Date
JoePfeiffer
afbccd416d Fix call to types.toArray() in ComponentPresetDatabase.java to generate array using correct type instead of trying to do a cast. 2020-12-09 16:14:04 -07:00
Joe Pfeiffer
bd251831f7
Merge pull request #832 from wolsen/bug/785
Fix offset locations of mass components
2020-12-03 11:28:53 -07:00
Joe Pfeiffer
a6d4425c28
Merge pull request #820 from wolsen/bug/776
Only draw carets in 3d when length > 0
2020-12-03 11:25:03 -07:00
Billy Olsen
628a593550 Fix offset locations of mass components
2D side view renderings of mass components within body tubes
were adjusted forward based off the radius of the object. This
change corrects the X position adjustement and makes it consistent
with 15.03 and 3D renderings.

Closes #785
Closes #828

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-12-02 19:38:44 -07:00
JoePfeiffer
123aa2d296 In FreeformFinSet.java:update, only validate freeform fin tab length if fin length has changed (ie don't revalidate when fin tab length has changed) 2020-12-02 19:18:35 -07:00
JoePfeiffer
b5a68a7636 Add logging for debug 2020-12-02 19:18:35 -07:00
Joe Pfeiffer
e4683a8455
Merge pull request #812 from teyrana/fix/810/save-as-all-exception
[fixes #810] Selecting 'Save As...' > 'All Files' no longer throws an exception
2020-12-01 10:11:13 -07:00
Joe Pfeiffer
201de6a6de
Merge pull request #824 from JoePfeiffer/fix-761
Fix 761
2020-12-01 10:07:14 -07:00
JoePfeiffer
495ef34970 Merge old findMotor() and findMotors() methods in ThrustCurveMotorSetDatabase.java
Turns out the motor digest hash function can have collisions.  Since the digest is stored in the .ork file we don't want to rewrite it as that will cause *lots* of spurious "thrust curves don't match" warnings, and I really don't want to get into looking up by some sort of new digest if it exists else old digest.

Since some motor description fields are also stored in the .ork file, I'm effectively using these as a key to resolve collisions.  Now that I need to pass them in to the findMotor() method, I'm merging it with findMotors() (which searches based on motor descriptions)

New combined method returns all motors that match digest and description;
If there are none returns all motors that match digest;
If there are none returns all motors that match description (may be empty)

Passing a digest and no other description emulates the behavior of the old findMotor() (but it may return more than one motor).
Passing description elements and no digest duplicates the behavior of the old findMotors()
2020-11-17 15:02:58 -07:00
JoePfeiffer
db64a85a3a add logging to ThrustCurveMotorSetDatabase for debug 2020-11-17 10:41:54 -07:00
Billy Olsen
e4bbd09889 Only draw carets in 3d when length > 0
Only set the CG and CP for the 3D renderings when the length
is greater than 0. This makes the 3D rendering behavior consistent
with the 2D side view

Fixes #776

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-11-11 15:37:47 -07:00
Joe Pfeiffer
6582b24bc4
Merge pull request #809 from JoePfeiffer/fix-807
get rid of error message when no data for motor in specified format (fixes #807)
2020-11-07 09:43:08 -06:00
Daniel Williams
dbb5b4293a
Merge pull request #813 from teyrana/fix/update-version-string
[doc] Update version string to '20-11-alpha-16'
2020-11-07 10:39:21 -05:00
Daniel_M_Williams
6d4c1eb20d [doc] Update version string to '20-11-alpha-16' 2020-11-07 10:38:07 -05:00
Daniel_M_Williams
eceaff6408 [fixes #810] Selecting 'Save As...' > 'All Files' no longer throws an unneccessary exception 2020-11-07 10:19:01 -05:00
Daniel Williams
4b9070f124
Merge pull request #811 from teyrana/fix/808/rail-button-sliders
[fixes #808] Fixes rotation slider in RailButtonConfig
2020-11-07 09:52:42 -05:00
Daniel_M_Williams
565bd6ac6a [fixes #808] Fixes rotation slider in RailButtonConfig 2020-11-07 09:51:04 -05:00
JoePfeiffer
d231cb320f Get rid of a bit of duplicate code
Handle case with no data in specified format for motor
2020-11-05 10:41:15 -07:00
Daniel Williams
39c29e8c31
Merge pull request #805 from teyrana/fix/801/launch-lug-radial-position
[fixes #801][fixes #751][fixes #752] Fixes multiple issues with LaunchLug component & ConfigDialog
2020-11-03 22:50:50 -05:00
Daniel_M_Williams
c54059a54e [fixes #752] Fixes rotation slider in LaunchLugConfig 2020-11-01 19:56:27 -05:00
Daniel_M_Williams
cf8b40229b [fixes #751] Unifies angle-offset labels to 'Rotation' for component config dialogs 2020-11-01 19:51:13 -05:00
Daniel_M_Williams
c9d408a8ee [fix #801] eliminate redundant angle-offset property in LaunchLug component 2020-11-01 19:38:16 -05:00
Daniel Williams
67fed96137
Merge pull request #672 from JoePfeiffer/use-simulation-options
Use simulation options (addresses
2020-11-01 18:54:10 -05:00
Daniel Williams
334bd1d3db
Merge pull request #798 from teyrana/fix/786/display-motor-mass
[fixes# 786] Updates config when drawing extras on 2D RocketFigure
2020-11-01 18:52:37 -05:00
Joe Pfeiffer
485f039459
Merge pull request #800 from JoePfeiffer/fix-799
add logging to SimulationStatus for debugging
2020-10-21 12:13:48 -05:00
JoePfeiffer
8cf94a57f0 add logging to SimulationStatus for debugging 2020-10-20 09:53:28 -06:00
Daniel_M_Williams
5b0cd95cba [fixes# 786] Updates config when drawing extras on 2D RocketFigure 2020-10-18 12:20:37 -04:00
Daniel_M_Williams
ccc8e4ab80 [fixes #774] Override-component-mass works correctly on massive components 2020-10-15 10:28:08 -07:00
Daniel_M_Williams
a4e7f2175c [fixes #775] component override-CoM-x works correctly
mass calculations now correctly treat the center-of-mass offset as relative to the individual
component (whereas, previously, it was an absolute offset / relative to the center of the rocket)
2020-10-15 10:28:08 -07:00
Billy Olsen
6f19ba356f Rename user preference interface to include openrocket
Initial feedback from the Snapcraft store suggests to further refine
the dot-java-user-prefs interface name to include OpenRocket so its
clear to a user which files are being accessed. This changes the
interface name to accomodate that feedback.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-10-15 09:44:52 -07:00
Joe Pfeiffer
5140ff174e
Merge pull request #793 from JoePfeiffer/clean-789
Get rid of unnecessary line feed to clean up indentation
2020-10-10 10:43:09 -05:00
JoePfeiffer
96f46867c1 Get rid of unnecessary line feed to clean up indentation 2020-10-10 09:39:37 -06:00
Daniel Williams
8d65218c4d
Merge pull request #789 from JoePfeiffer/fix-768c
Last fix on issue 768
2020-10-10 10:57:19 -04:00
Joe Pfeiffer
a88a1c0cda
Merge pull request #784 from teyrana/fix/777/render-rail-button
[fix #777] Railbuttons now correctly render in rear-view, when rotated
2020-10-09 14:50:43 -05:00
JoePfeiffer
0381be91ca Check that next symmetric component, if non-null, is active 2020-09-30 20:40:28 -06:00
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
Daniel_M_Williams
92cd7cc9e7 [fix #777] Railbuttons now correctly render in rear-view, when rotated 2020-09-26 10:45:20 -04: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