373 Commits

Author SHA1 Message Date
Joe Pfeiffer
09123dd0ce Set current configuration before creating simulation
createSimulationForConfiguration() assumed addConfiguration() and
copyConfiguration() would set the new configuration as selected, but
they didn't resulting in simulation based on old configuration, not new
one.  Fixed.

addConfiguration() and copyConfiguration() had enough common code that
consolidating them and createSimulationForConfiguration() seemed like a
good idea.

Let FlightConfiguration.copy() create new ID for consistency with
constructor.
2018-06-04 12:37:40 -06:00
ChrisMickelson
5cf53f870f
Update JarInJarStarter.java
#346 re-fix
change line 33 back to ClassLoader loader = new URLClassLoader(urlArray, null);
2018-05-30 05:41:23 -05:00
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