1520 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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_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
ChrisMickelson
3997d08a45 update splashscreen 2017-06-05 01:40:42 -04:00
ChrisMickelson
357eb53ce9 update splashscreen 2017-06-05 01:39:33 -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
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
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
Daniel_M_Williams
3e869e015b [Fix] Modified masscalc test for different active stages. 2016-12-23 18:32:15 -05:00
kruland2607
e4aae02455 Merge pull request #292 from teyrana/unit-comment-fix
Unit comment fix [single-file][non-functional][mini]
2016-11-19 08:29:26 -06:00
Matt Kendall
3642398b1a Remove opaque background from Tube Fin Component Icon 2016-11-05 23:55:31 +00:00
Luiz Victor Linhares Rocha
37402f9b95 adds documentation and refactoring for ThrustCurveMotorSet file 2016-10-24 15:33:02 -02:00
Luiz Victor Linhares Rocha
3fc4c3799c adds documentation for database package 2016-10-24 14:48:05 -02:00