435 Commits

Author SHA1 Message Date
Daniel_M_Williams
885df6ce04 [refactor] Reduce redundant methods in Scalefigures, and harmonize common function names
- removed interface that was only inherited by the single AbstractBaseClass
- harmonizes  the border pixels variables in the scalefigure package
2018-08-26 16:59:01 -04:00
Daniel_M_Williams
95b1e8718b [cleanup] Refactored naming in ScaleSelector to be more consistent 'Zoom' -> 'Scale' 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
9aa71c94cf [Fixes #424] Respaced FinSetConfig Window:
Resolved some sources of phantom whitespace; Spacing on component configuration
windows is now generally tighter.
2018-08-26 16:59:00 -04:00
Daniel_M_Williams
c1d8bfda06 [refactor] fixed warnings and made variable names more explicit in [Freeform]FinSetConfig Dialogs
- de-duped  writeCSVFile methods
2018-08-26 16:59:00 -04:00
Wes Cravens
e6612ddbe0
Merge pull request #430 from teyrana/fix_debug_window
[fixes #428] DebugLogDialog // details Pane stays hidden (if toggled hidden)
2018-08-01 10:49:32 -05:00
Daniel_M_Williams
6add0b396c [fixes #428] minor patch to fix behavior of toggling the details pane in the debug log window 2018-07-08 11:32:51 -04:00
Wes Cravens
3538d53c6d
Merge pull request #416 from JoePfeiffer/fixnewconfiguration
Set current configuration before creating simulation
2018-07-05 00:55:01 -05:00
Wes Cravens
5fcd62dc84
Merge pull request #420 from teyrana/fix_new_stage
[fix][oneline] both Create Stage buttons now create stages with the same name
2018-07-05 00:54:41 -05:00
Daniel_M_Williams
82d5f871f0 [upgrade] Updated Eclipse buildfiles to use Java 1.8 2018-06-17 15:34:55 -04:00
Daniel_M_Williams
32c612fb91 [upgrade] Updated ant build.xml to use java 1.8 2018-06-17 15:34:46 -04:00
Daniel_M_Williams
a9efed4288 [fix] both Create Stage buttons now create stages with the same name
- reads the value of `Stage.Stage` from 'core/resources/l10n/messages.properties'
- currently "Stage"
2018-06-09 20:15:19 -04:00
Daniel_M_Williams
f15830fc3b [fix] 2d figure - Transition Shoulders now rotate correctly 2018-06-04 20:25:07 -04:00
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