2184 Commits

Author SHA1 Message Date
ChrisMickelson
1c287b90be
Merge pull request #26 from openrocket/unstable
Unstable update Feb 19
2018-02-19 23:12:01 -06:00
Wes Cravens
1b60b23de4
Merge pull request #394 from teyrana/alpha6
Alpha6 - Minor Fixes, as requested on the mailing lists.
2018-02-10 14:08:21 -06:00
Daniel_M_Williams
20473dbf82 [fix] file version 108 now correctly loads angle-offsets for all ComponentAssemblies 2018-02-03 10:52:44 -05:00
Daniel_M_Williams
0ef72ec66d [Resolves #391] Localized description is displayed for relative positioning methods 2018-02-03 10:37:40 -05:00
Daniel_M_Williams
7017b0b2f0 [fix] removed Angle.Fixed and Radius.Surface positioning methods 2018-02-03 10:25:03 -05:00
Wes Cravens
de7f7b308b
Merge pull request #393 from ChrisMickelson/unstable_current
Fix for issue #383
2018-02-02 08:42:20 -06:00
ChrisMickelson
40f18d9125
Update RocketRenderer.java
Fix depth test issues with transparent components
2018-02-02 04:49:32 -06:00
ChrisMickelson
818fa911d9
Merge pull request #25 from openrocket/unstable
Unstable
2018-02-02 04:34:29 -06:00
Wes Cravens
82b78face9
Merge pull request #390 from teyrana/alpha5
Alpha5
2018-01-27 21:36:00 -06:00
Daniel_M_Williams
4a874b6ba9 [fix] Fixed OpenRocketSaverTest: minimum file version is now 108 2018-01-27 20:35:49 -05:00
Daniel_M_Williams
9398331f02 [fix][file] OR now always saves files as format version 1.8 2018-01-21 12:16:21 -05: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
5c96ad9454 [ver] Bumped version number for Alpha Release 5 2018-01-21 12:05:59 -05:00
Daniel_M_Williams
bf41c07f76 [version] version bump to rc4 2018-01-13 20:47:04 -05:00
Daniel_M_Williams
d955f59a75 [fix] removed spurious unittest import 2018-01-13 20:46:14 -05:00
Daniel_M_Williams
23d7397fa6 [refactor] Pods and ParallelStages are now attached to BodyTubes *only* 2018-01-13 14:35:16 -05:00
Wes Cravens
e937f46b6d
Merge pull request #384 from teyrana/rc3
Merge RC3 into unstable (current-version 18.01-rc1)
2018-01-06 13:27:24 -06: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
6289aef0ef [fix] Fixed aerodynamic unittests
-changed FinSetCalc to output per-instance CNa
2017-12-25 20:56:11 -05:00
Daniel_M_Williams
1fac8818b5 [fix][test] Fixed filename sanitation issue in OpenRocketSaverTest 2017-12-25 20:56:11 -05:00
Daniel_M_Williams
b84de68575 [fix][test] Fixed RocketTest, FlightConfigurationTest 2017-12-25 20:56:11 -05:00
Daniel_M_Williams
356ec09094 [fix][unittest] Fixed RocketTest (required fix to RocketComponent#getInstanceLocations()) 2017-12-25 20:56:11 -05:00
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