1439 Commits

Author SHA1 Message Date
Daniel_M_Williams
165f005b12 Version Bump to Alpha 8 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
fc43b19db0 [fix] clicking away from points now longer causes an exception 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
9d76ece128 [refactor] updated BoundingBox class to be more useful
- FlightConfiguration now exposes the BoundingBox method for its rocket
2018-08-26 16:59:01 -04:00
Wes Cravens
3209e0201e
Merge pull request #437 from JoePfeiffer/fixSimulationLog
Fix simulation log
2018-08-07 18:21:31 -05:00
Joe Pfeiffer
7d2e4757e8 Also eliminate redundant "BasicEventSimulationEngine" in log lines 2018-08-06 17:21:24 -06:00
Joe Pfeiffer
39d961df56 Don't report timestep on thrust log line. First it was probably meant
to be simulation time, not time step, and second it's already reported
elsewhere

Report altitude and event type at each simulation step
2018-08-06 17:11:12 -06: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
Wes Cravens
a39f572c9a
Merge pull request #421 from teyrana/upgrade_java_8
Upgrade java 8: ant, eclipse, travis. Resolves #414
2018-07-05 00:54:31 -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
14414d6279 [fix] removed duplicate property keys 2018-06-16 19:52:12 -04:00
Daniel_M_Williams
73db54ae7b [fix] removes obsolete l10n string 'RocketActions.ActBoosterstage' from 'core/resources/l10n/message.properties' 2018-06-09 20:22:32 -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
Joe Pfeiffer
f82fef44d7 Fix Configuration name in motor configuration panel.
Formerly just used delay value directly, resulting in huge delay for
plugged motors; now uses motor.getDesignation so it translates to "P" as
expected.

Changed name of toMotorDesription method to toMotorDesignation to match
usage of getDesignation() in ThrustCurveMotor.java

Changed toMotorDesignation to use motor.getDesignation
2018-06-01 09:27:08 -06:00
Daniel_M_Williams
b7ee926d6c [fix] change to SymmetricComponent no longer generates negative inertias 2018-05-28 12:28:59 -04: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
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