2867 Commits

Author SHA1 Message Date
Daniel_M_Williams
77bc272e7b [fix] FreeformFins now update main RocketWindow when a point is changed 2020-04-25 17:13:51 -04:00
Daniel Williams
a230d42fab
Merge pull request #630 from teyrana/fix/551/duplicate-button
[fixes #551] [UI] removed 'add stage' text button; reordered remaining buttons
2020-04-25 13:16:49 -04:00
Daniel_M_Williams
bbe2598454 [ui] removed 'add stage' text button; reordered remaining buttons 2020-04-25 13:15:27 -04:00
Daniel Williams
77382e4fc0
Merge pull request #635 from itshanney/fix/text-files-cleanup
[Documentation] Cleanup of text files in repo
2020-04-25 12:51:30 -04:00
Justin Hanney
2a3950fce9 Remove core/TODO; Tweak README.md 2020-04-24 20:02:14 -07:00
Justin Hanney
3116188c1d Adjust formatting for README.md 2020-04-24 20:02:03 -07:00
Justin Hanney
9c50efc708 More unify formatting of ChangeLog 2020-04-24 20:01:53 -07:00
Justin Hanney
5c7f255668 Unify formatting of ChangeLog 2020-04-24 20:01:45 -07:00
Justin Hanney
c0e3a9c497 Remove redundant README.TXT in favor of README.md 2020-04-24 20:01:34 -07:00
Justin Hanney
6adc19b267 Merge README.TXT into README.md 2020-04-24 20:01:27 -07:00
Justin Hanney
1dae23133b Move ChangeLog and README.TXT to root folder 2020-04-24 20:01:12 -07:00
Daniel_M_Williams
2203a3d18c [fix] restores travis-ci commenting on PRs 2020-04-24 18:14:32 -07:00
Daniel Williams
7934f0beec
Merge pull request #633 from JoePfeiffer/fix-627
Fix 627
2020-04-23 10:48:06 -04:00
JoePfeiffer
bf6624fb70 I can't find anywhere that these classes are imported by anything else 2020-04-22 09:29:57 -06:00
JoePfeiffer
b9a881c5c9 The deleted methods (setTotalThrustEstimate(), setBurnTimeEstimate(), setAverageThrustEstimate(), and setMaxThrustEstimate()) were never called. The member variables maxThrust, burnTimeEstimate, averageThrust, totalImpulse are all calculated by computeStatistics() and the values (if any) from the thrustcurve file are ignored. 2020-04-22 09:29:57 -06:00
Billy Olsen
58b92be39e Fix FreeformFinSetTest unit test
FreeformFinSetTest.testFreeformCMComputation_triangleOnTransition
was broken with the last merge. This change updates the expected
area for the fin tab to be the area of the triangle under the
curve as well as update the new CG contants in the tests.

Identified in #631

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-21 14:40:09 -07:00
Daniel_M_Williams
4326c71c71 [address 618] improves display of freeform fin tabs on transition bodies 2020-04-20 07:58:55 -07:00
Daniel Williams
37e1180963
Merge pull request #628 from wolsen/move-unit-test
Move MotorRowFilterTest into correct package
2020-04-19 23:28:11 -04:00
Joe Pfeiffer
ebd994ea03
Merge pull request #629 from wolsen/delete-errant-log
Remove openrocket.log from tree
2020-04-19 21:22:35 -06:00
Billy Olsen
4590d7d1b8 Remove openrocket.log from tree
Remove the openrocket.log file that is errantly in the tree.
Update .gitignore to not include openrocket.log in the future.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-19 20:15:40 -07:00
Billy Olsen
bbf60e0bba Move MotorRowFilterTest into correct package
MotorRowFilterTest lives in the wrong package and causes Eclipse
to fail building. Oddly, it still builds using the ant commandline,
but since it declares it should be in the package
net.sf.openrocket.gui.dialogs.motor.thrustcurve this change moves
it to the location it declares.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-19 19:58:51 -07:00
Daniel Williams
bd8bef2c85
Merge pull request #602 from wolsen/fix-stage-length
[Fixes 452] Reflect length of selected stages
2020-04-19 22:34:09 -04:00
Billy Olsen
b7345f5c3c Correctly calculate the maximum height for side view.
When calculating the subject dimensions, use the height as the
radius of the circle which intersects all four corners of the
BoundingBox in the Y, Z plane for both the rear view and the
side view. The rear view was already doing this, but it was
non-obvious that the side view should also be using this to
calculate the height.

It becomes obvious if we think about a winged rocket, i.e. a
rocket who's fins in the Z direction are larger than those in
the Y direction. In this configuration, a height based off of
the fins in along the Y-axis alone will result in a "Fit" scaling
which encapuslates the Y-axis fins. However, rotating that
rocket will move the larger wings (the Z-axis fins) into the
view, but the height will not allow for the wings to draw properly
on the screen.

Thusly, using the radius from the circle intersecting the bounding
box along the Y, Z plane will ensure that the widest point from the
body will be able to fit within the side view, regardless of the
rotation around the X axis.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-19 19:15:54 -07:00
Billy Olsen
355bfb61c1 Use FinSet.getBoundingBox() when computing bounds
Use the FinSet.getBoundingBox() when computing the bounds for the
current configuration in FlightConfiguration.calculateBounds().
The FinSet already contains a BoundingBox method, however it returns
a larger BoundingBox than necessary to encapsulate the component.

Change the FinSet.getBoundingBox() to create a bounding box of the
smallest size to ensure a tight bounds for the FinSet. This is done
by taking each of the locations for the component and determining
where the fin tip point is and updating the BoundingBox with this
location.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-19 19:15:14 -07:00
Daniel Williams
7ddcd9ed6b
Merge pull request #622 from JoePfeiffer/fix-620
[Fixes 620] avoid prevent null strings in new motors
2020-04-18 10:44:24 -04:00
JoePfeiffer
6dc1f6c194 unit test for MotorRowFilter 2020-04-17 08:44:12 -06:00
JoePfeiffer
839f555d55 Fixed spelling error getTotalImpuse() => getTotalImpulse() 2020-04-16 13:47:45 -06:00
JoePfeiffer
ede47666f9 Modified ThrustCurveMotor to ensure all fields have sane default values
Created MotorRowFilterTest unit test
2020-04-16 11:36:47 -06:00
Billy Olsen
25475a92fb Rework the FlightConfiguration.calculateBounds() for instances
Use the information provided in the getActiveInstances() in order to
calculate the length of the rocket. This change takes each component
instance and uses the component bounds and the instance's transform
in order to determine the instance's actual bounds. The length is
then calculated as the difference between the min and max X values,
using the BoundingBox.

Note, this particular change special-cases a few of the components
in order to get the right length. It is preferred to revisit each
special case in subsequent patches in order to keep this patch set
minimal for the time being.

The length calculations are already stressed during unit tests, but
the results are a bit more accurate and thus the unit tests are
updated to reflect the new values.

Fixes #452

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-12 18:18:17 -07:00
Daniel Williams
7745563c0d
Merge pull request #614 from itshanney/bugfix/remove-guice-warnings
Update guice library to remove AOP; Fixes issue #609
2020-04-06 21:45:55 -04:00
Daniel Williams
d61d0e47c7
Merge pull request #617 from teyrana/fix/536-fin-npe
[Fixes #536] NullPointerException while editing FreeformFinSet Components
2020-04-06 21:33:40 -04:00
Daniel_M_Williams
1ec588dff4 [refactor] converted Rocket.listenerList from ArrayList -> HashSet 2020-04-06 21:32:39 -04:00
Daniel_M_Williams
336b899a06 [fix] reworks / fixes the way ComponentConfigDialogs are closed
- Close hooks are now called for all methods of closing a dialog ('close', 'X', and escape)
- Adds a rocket.removeComponentChangeListener to close hook
- removes redundant / buggy methods
2020-04-06 21:25:55 -04:00
Daniel_M_Williams
24ae797959 [fix] Merged duplicate class-instance 'finset' property with parent's 'component' property. 2020-04-06 21:25:55 -04:00
Daniel_M_Williams
644404b070 [fix] Adds duplicate guard when add a 'ComponentChangeListener' to the rocket 2020-04-06 21:25:54 -04:00
Daniel Williams
58eb9fff90
Merge pull request #601 from teyrana/fix/600/split-fins-cp
[Request Review] Corrects the cp calculations for Split-fin rockets.  Fixes #600.
2020-04-05 20:54:31 -04:00
Daniel_M_Williams
ebf4d35299 [fix] refactors Testrockets to clone existing fins from Alpha III, instead of replacing with new ones 2020-04-05 20:54:14 -04:00
Daniel_M_Williams
b24184afc7 [fix] Adds 4-fin splits to unittests 2020-04-05 20:54:14 -04:00
Daniel_M_Williams
b8172305f8 [test] adds test to verify that splitting fins reproduces the same results 2020-04-05 20:54:14 -04:00
Daniel_M_Williams
67f806492e [cleanup] cleans up the TestRockets.java class
- Shares the configuration ID numbers

- moves to new setAngleOffset function
2020-04-05 20:54:14 -04:00
Justin Hanney
82a3506157 Adjust .iml files for IntelliJ 2020-04-05 12:36:07 -07:00
Daniel Williams
43f51afc6e
Merge pull request #616 from wolsen/issue-615-high-cpu
Don't revalidate/repaint component in Ruler.updateSize()
2020-04-05 14:36:13 -04:00
Billy Olsen
adf3101315 Don't revalidate/repaint component in Ruler.updateSize()
Analysis from Justin Hanney indicates that the CPU is constantly
processing paint events in the ScaleScrollPane.Ruler. Change the
updateSize method to not revalidate and repaint since the
paintComponent method also invokes the updateSize to ensure it is
drawing components of the right size.

This change also refactors the ChangeListener implementation to
have the RulerClass implement the method instead of using an
anonymous class for event handling when ruler units change.

Additionally, this change adds a revalidate call to the scrollPane
to fix an issue where the ruler is not repainted when switching views
from 3D to 2D.

Fixes #615

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-04 14:18:57 -07:00
Billy Olsen
33e912833f Fix stage selection toggle display
Fixes the stage selection buttons to only be active when the stage
is active and properly reflect the displayed stage state.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-03 21:11:19 -07:00
Billy Olsen
3f17363807 Use FlightConfiguration.getLength() in RocketPanel
Use the curConfig.getLength() for the length displayed in the
RocketPanel rather than calculating it based off the bounds.
The length method provided by the FlightConfiguration takes
everything into account that is needed (active stages, etc)
to calculate the length.

Closes #452

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-04-03 21:11:19 -07:00
Justin Hanney
8302de21b1 Adjust IntelliJ and Eclipse classpaths to new guice 2020-04-02 19:22:42 -07:00
Justin Hanney
0fff7e2d50 Update guice library to remove AOP; Fixes issue #609 2020-04-02 15:56:55 -07:00
Daniel Williams
faf770450c
Merge pull request #611 from openrocket/fix/606/fix-example-airstart
[fixes #606] Example rocket "High Power Airstart" had a missing motor.
2020-04-01 22:17:59 -04:00
Joe Pfeiffer
2081715e33
Merge pull request #610 from teyrana/fix/608/fin-count
[fixes #608] save all instance counts, even if equal to 1
2020-03-30 18:53:07 -06:00
Daniel_M_Williams
4ede3a8c60 [fix][example] Fixes 'High Power Airstart' -- with new motor: I211 2020-03-30 20:21:15 -04:00