371 Commits

Author SHA1 Message Date
Joe Pfeiffer
2839dfd4dd Cleared up problem with blank combobox popups after adding flight
configurations.

(1) Created new ConfigurationComboBox, extended from
JComboBox<FlightConfiguration>, with a listener for popup opens that
connects to a new ConfigurationModel.

(2) Removed some cruft from ConfigurationModel and made it a nested
class within ConfigurationComboBox.

(3) Updated ComponentAnalysisDialog, RocketPanel, and
SimulationEditDialog to use ConfigurationComboBox.
2018-05-24 12:38:09 -06:00
Daniel_M_Williams
32aa32da15 [Workaround] Hides the Optimization Dialog until it can be fixed 2018-04-08 11:29:46 -04:00
Daniel_M_Williams
0b1e01137a [Resolves #397][Workaround] Hides the Component Analysis Dialog until it can be fixed. 2018-04-08 11:25:48 -04:00
Daniel_M_Williams
786ca55c45 [fix][Resolves #378] Component Preset Dialog has an appropriately sized search bar 2018-03-03 17:03:27 -05:00
Daniel_M_Williams
28bdfac550 [fix][Resolves #330] Rocket size now updates on main screen after scaling rocket 2018-03-03 17:03:18 -05:00
Daniel_M_Williams
d859337e12 [fix] prevent a NPE if openrocket does not detect the example files 2018-03-03 17:03:10 -05:00
Daniel_M_Williams
1470a84673 [debug] removed unnecessary printlns in unit tests 2018-02-25 12:43:49 -05:00
Daniel_M_Williams
7017b0b2f0 [fix] removed Angle.Fixed and Radius.Surface positioning methods 2018-02-03 10:25:03 -05:00
ChrisMickelson
40f18d9125
Update RocketRenderer.java
Fix depth test issues with transparent components
2018-02-02 04:49:32 -06:00
Wes Cravens
82b78face9
Merge pull request #390 from teyrana/alpha5
Alpha5
2018-01-27 21:36:00 -06:00
Daniel_M_Williams
85fc41d203 [feature][refactor] Implemented Relative Positioning for Axial, Angular, and Radius directions
- Allows more precise and flexible control of component positions
- file format:
  -- maintains compatability with previous major release (15.04)
  -- may not accept file formats from unstable development branches in-between major releases
2018-01-21 12:06:42 -05:00
Daniel_M_Williams
0498900078 [feat] Added Positioning methods and interfaces for Axial, Radius, and Angle directions
- also added minor angle-wrapping function to MathUtil
2018-01-21 12:06:25 -05:00
Daniel_M_Williams
23d7397fa6 [refactor] Pods and ParallelStages are now attached to BodyTubes *only* 2018-01-13 14:35:16 -05:00
Johan Tibell
15d14e43a3 [Resolves #346][fix] Use a parent ClassLoader
Before we explicitly set the parent to null, which caused classes to
fail to load on Java 9.

Fixes #346.
2017-12-30 11:16:21 -05:00
Daniel_M_Williams
20eff575f4 [fix] Fix MassCalculator Unittests.
(Effectively a re-write of the MassCalculation code)
- renamed some mass calculator accesor methods
- MassData, InertiaMatrix refactored into 'RigidBody' class

- refactors out cache code to separate wrapper class
- calculations now use the Transform class to translate masses, CM, and MOI

- new class: MassCalculation
  - contains relevant context for a given calculation: tree-root, type, time, config
  - contains most actual calculation code
  - calculations are tracked with a context class: MassCalculation
2017-12-25 20:56:11 -05:00
Daniel_M_Williams
23a488db48 [Resolves #369] Fixes 3d rendering for instanced components
This is a relatively major refactor / rewrite of the 3d rendering code.

- components geometries are rendered recursively
- components inherit parents' transformations ( translation, rotation)
- implemented Transformation#toGLMatrix()
  -- openrocket transformations can be directly fed into Java OpenGL

- added: FinSet#getBoundingBox()
- improved documentation on RocketComponent Location methods

- Refactor RocketRenderer:
  - render component trees recursively
  - removed RocketRendere#isDrawn(c) -- return true in all implementations

- Refactor ComponentRenderer
  - renamed variables to be more descriptive
  - changed RocketComponent#toAbsolute(...) => RocketComponent#getComponentLocations()
- Adjust FinRender Code:
  - Render Single Fin Instance at-a-time
  - takes in an angle for the instance
  - assumes the fin is already at it's desired position.
  - renames 'fs' -> 'finSet'
2017-11-05 17:56:14 -05:00
Daniel_M_Williams
2379fbae95 [Resolves #377] new Configuration Button now updates to be available if motor mounts are present. 2017-11-05 11:11:12 -05:00
Daniel_M_Williams
9bfaf8877e [Resolves #379] Can now toggle motormounts from the Motor Configuration Tab
- Actual Fix is at MotorMountTableModel:102:   re-added callback to the MotorMount component
- cleaned up unused variables in the other panels
- Tightened up variable re-use in GUIUtil class
  -- made several intermediate variables separate, uniquely-named, and final.
2017-11-05 11:06:11 -05:00
Daniel_M_Williams
cfc1715cf4 [fix] Added details toggle to DebugLogDialog 2017-11-05 11:06:11 -05:00
Daniel_M_Williams
886faae76b [fix] removed debugging println 2017-10-29 13:07:04 -04:00
Daniel_M_Williams
015437d335 [resolves #368][resolves #331] User may scale freeform fins. 2017-10-28 13:42:10 -04:00
Daniel_M_Williams
9c93ada83f [resolves #371] MassCalculator now updates result on FlightConfiguration change
- added check in MassCalculator against last-used FlightConfiguration
- removed dead code
2017-10-28 13:42:10 -04:00
Daniel_M_Williams
4ce1e8ef0d [resolves #367] Can no longer add Components to rocket directly (add buttons are greyed-out) 2017-10-28 13:42:09 -04:00
Daniel_M_Williams
eb72329c58 [fix][refactor] simplified rocketfigure drawing code
Fixes Issues:
- https://github.com/openrocket/openrocket/issues/366
- https://github.com/openrocket/openrocket/issues/323

- RocketFigure no longer draws specific stages:
  Starts drawing rocket, and then propogates location, angle/transformation downwards
  - fixed active/inactive visibility toggling
  - Fixed Drowing Bounds for RocketFigure
    - Fix: FlightConfiguration#getBounds()
    - Fix: FinSet#getComponentBounds()
    - Fix: InnerTube#getInstanceCount()
    - Add: Coordinate#MIN, Coordinate#MAX
    - Add: net.sf.openrocket.util.BoundingBox

- RocketComponent:
  - implement: #getInstanceLocations() // relative to parent component
  - implement #getInstanceAngles()
  - implement: #getComponentLocations()  (Refactor/rename of #getLocations() )

- Implement <x>#getInstanceOffsets() // relative to component-reference-point
  - FinSet
  - PodSet
  - ParallelStage
  - RailButton
  - InnerTube:

- fixed drawing shapes:
  - TubeShapes
  - BodyTube
  - Launch Lug
  - RingComponent (InnerTube, EngineBlock, Coupler)
  - Finset
  - Transition
  - Rail Button
2017-10-28 13:41:51 -04:00
Daniel_M_Williams
c36ce2eae4 [resolves #323] Major patch to improve rendering of instanced+rotated components
- introduced interfaces for different types of positionable components:
  -- AnglePositionable
  -- AxialPositionable
  -- RadiusPositionable
- RingInstanceable now includes these other interfaces, making explicit the expectations of
   any implementing subclass.
- RingInstanceable now indicates its angles as an array instead of returning angles one-at-a-time
  -- commit includes updates to match this new API
- Added getAssembly() method to RocketComponent, to simplify instancing code
2017-10-28 13:41:25 -04:00
Daniel_M_Williams
c437b7870a [fix] parallel-stage / pod config tab no longer throws for axial stages 2017-09-23 11:20:00 -04:00
Alexander Allen
107d987973 Implemented CD Override 2017-09-20 21:45:26 -04:00
Daniel_M_Williams
f1c9ebb25f [refactor] Merged configuration tabs for boosters and pods into the 'ComponentAssemblyConfig' class 2017-09-02 11:09:37 -04:00
Daniel_M_Williams
15bc607acc [fix] fixed deprecated method (reflection) references. 2017-09-02 10:59:17 -04:00
ChrisMickelson
bd8f246a63 Update RealisticRenderer.java 2017-06-05 00:17:53 -04:00
kruland2607
a59aadbf04 Merge pull request #321 from ChrisMickelson/unstable
Alpha value for semi-transparent components saved/loaded and small bug fix
2017-02-01 23:46:02 -06:00
kruland2607
eb2d569b5f Merge pull request #318 from dkingsley/SimResultsCopyToClipboard
Copy Simulation Results to Clipboard
2017-02-01 23:45:52 -06:00
kruland2607
6ca4085349 Merge pull request #317 from dkingsley/ExportFinGeometry
Export Free Form Fin Profile to CSV File
2017-02-01 23:45:42 -06:00
kruland2607
c8eaca6cb0 Merge pull request #315 from teyrana/fix-cg
[Fix][Issue #295] CG now correctly updates when Stages are toggled
2017-02-01 23:45:03 -06:00
kruland2607
33aeb25d84 Merge pull request #301 from Vicilu/unstable
adds more documentation
2017-02-01 23:44:51 -06:00
ChrisMickelson
e0f5d7711b Update RealisticRenderer.java
Small bug fix to keep Unfinished renderer showing interior of tubes
2017-02-01 22:00:15 -05:00
dkingsley
0c9fdb38b2 Export Free Form Fin Profile to CSV File
Add code to export the free form fin profile shape as a CSV file.
2017-02-01 14:30:43 -05:00
dkingsley
fafdc81c40 Copy Simulation Results to Clipboard
Implement code to copy the simulation results to the system clipboard.
2017-02-01 14:15:53 -05:00
Daniel_M_Williams
c44f976a62 [Fix][Issue #295] Toggling (in)active stages will now trigger a change to the CG
- stage toggling was sending the wrong event type: updated to AERO | MASS | MOTOR change event.
2016-12-23 18:44:20 -05:00
kruland2607
597d6c8391 Merge pull request #290 from teyrana/warning-cleanup
Warning cleanup ( reduced from 219 to 185 )
2016-11-19 08:31:11 -06:00
Matt Kendall
af18606eb9 Remove calls to model.setCurrentUnit in Booster and Pod configs which are changing the default units of some fields in the config panels 2016-11-05 17:50:02 +00:00
Daniel_M_Williams
8c8e8b1305 [fix] Rocket Figure now redraws when motors are added & removed 2016-10-29 12:27:15 -04:00
Kevin Ruland
a082e8a24b Resave the Pods Example to get rid of older attribute. 2016-10-26 19:46:00 -05:00
Kevin Ruland
f390d1f305 Fix PodSet Rendering. 2016-10-26 19:42:16 -05:00
Kevin Ruland
10bd864ef6 Fix 3d rendering issues with AxialStage and ParallelStage. Renamed
example to get rid of underscores.
2016-10-26 18:39:10 -05:00
Luiz Victor Linhares Rocha
3fc4c3799c adds documentation for database package 2016-10-24 14:48:05 -02:00
Kevin Ruland
f2d76e3b2b Merge remote-tracking branch 'upstream/master' into unstable 2016-10-23 13:50:08 -05:00
Kevin Ruland
d3240ec1a4 Merge remote-tracking branch 'upstream/unstable' into unstable 2016-10-23 13:16:06 -05:00
Daniel_M_Williams
93ccc180b8 [Cleanup][Warnings][Non-Func] Fixes numerous but trivial warnings
Warnings fixed:
-"JComboBox is a raw type. References to generic type JComboBox<E> should be parameterized"
-- fix: Add a <T> type specifier to each generic, (or occasionally <?>)

- "The serializable class WarningDialog does not declare a static final serialVersionUID field of type long"
-- fix: add annotation: '@SuppressWarnings("serial")'

- "Unnecessary @SuppressWarnings("unchecked")"
-- fix: remove annotation
2016-10-13 15:54:26 -04:00
Kevin Ruland
6532743c3f Revising previous commit to include the missing files. 2016-10-10 19:50:17 -05:00