2260 Commits

Author SHA1 Message Date
Daniel_M_Williams
bb756decfc [doc] Bump version number to 18.01-rc3 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
9456c3a14a [fix][test] Expanded Transformation unit tests 2017-11-05 11:11:16 -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
42270276d5 [doc] Version bump to 17.11-rc2 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
8f43199d39 [fix][test] Change 'clusterable' to 'instanceable' in debug method 2017-10-29 12:38:06 -04:00
Daniel_M_Williams
0a85188c12 [fix][ork][load] Bulkheads may now load instanced components
- moved 'instancecount' and 'instanceseparation' loading from CenteringRing to RadiusRingComponent
  - enables both Bulkhead and CenteringRing to load those tags from .ork file
2017-10-28 13:42:10 -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
279bb59f30 [fix][masscalc] Validation Rockets correctly calculate mass
- Adjusted masscalculater code to not double-count instances (when mass > 0, and instance > 1 )
- RingComponents now correctly calculate their mass again
2017-10-28 13:42:10 -04:00
Daniel_M_Williams
9176e9fa61 [resolves #374] centering rings, bulkheads now display correctly 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
bd42c7ecde [doc][version] bumped version number to 18.10-rc1 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
212685b026 [resolves #328][save][load] Fixed invalid save & load fields for 'FinSet', 'LineInstanceable' Components
- PodSet may save/load auto-radial-offset
- Fins now save/load
  - 'instancecount'
  - 'angularoffset'
  - 'radialoffset' = 'auto'

- RadiusPositionable interface now enforces 'setAutoRadialOffset(...)'
- implemented RockeComponentSaver#emitInteger
- all LineInstanceable implementers read/write 'instanceseparation'
- [fix] RocketComponentSaver now saves 'instancecount' even if 1==instancecount
2017-10-28 13:41:51 -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
f469ee9586 [refactor] added getInstanceAngle(int) function to the RingInstanceable class (and implementations) 2017-10-28 12:56:55 -04:00
Daniel_M_Williams
8e8ba9324f [rename] renamed count -> instanceCount to be more descriptive 2017-10-28 12:56:55 -04:00
Wes Cravens
e5f40c375d Merge pull request #365 from teyrana/rc0
Bugfix Aggregation: release-candidate-0
2017-09-28 09:21:17 -05: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
aa5545a973 [fix] both pods and boosters now obey the 'auto-radius' option
- update ParallelStage#update to use the parent-class
  which contains 'getOuterRadius'
2017-09-02 11:09:37 -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
64be463b48 [feat] added getter/setter for 'AutoRadialOffset' to PodSet 2017-09-02 11:09:37 -04:00
Daniel_M_Williams
95a927b3b7 [fix] simulations now correctly count motors on boosters and pods
- thrust now counts motors on InnerTubes AND BodyTubes.
2017-09-02 11:07:41 -04:00
Daniel_M_Williams
76d4136011 [nonfunc] fix typo in function name 2017-09-02 11:07:41 -04:00
Daniel Williams
724c41e2d3 Merge pull request #3 from teyrana/fix-reflection
[fix] fixed deprecated method reflection references.
2017-09-02 11:02:51 -04:00
Daniel_M_Williams
15bc607acc [fix] fixed deprecated method (reflection) references. 2017-09-02 10:59:17 -04:00
Daniel_M_Williams
ce65463996 [fix] added several config changes to travis config 2017-08-20 20:21:28 -04:00
kruland2607
b192fb03c1 Merge pull request #339 from ChrisMickelson/render_update
Update RealisticRenderer.java
2017-06-07 14:28:44 -05:00
kruland2607
4fdeb60cd3 Merge pull request #341 from ChrisMickelson/spashscreen-2017
Spashscreen updated 2017
2017-06-07 14:13:22 -05:00
ChrisMickelson
3997d08a45 update splashscreen 2017-06-05 01:40:42 -04:00
ChrisMickelson
357eb53ce9 update splashscreen 2017-06-05 01:39:33 -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
kruland2607
2403dcd62b Merge pull request #293 from teyrana/rocket-assembly
[Refactor] Rocket now subclasses ComponentAssembly
2017-02-01 23:44:39 -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
ChrisMickelson
f6ccc7f264 Update AppearanceHandler.java 2017-02-01 21:54:32 -05:00
ChrisMickelson
6379729670 Update RocketComponentSaver.java 2017-02-01 21:50: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
Daniel_M_Williams
3e869e015b [Fix] Modified masscalc test for different active stages. 2016-12-23 18:32:15 -05:00