2293 Commits

Author SHA1 Message Date
JoePfeiffer
1bf2ed2a54 Show stage names instead of stage numbers 2018-10-31 18:46:17 -06:00
Wes Cravens
fa33c3d823
Merge pull request #461 from JoePfeiffer/simulate-in-order
Stack stage simulations
2018-10-23 13:12:29 -05:00
JoePfeiffer
e3ab018dd1 Changed order of stage simulations to work from top down, resulting in
the drowp-down menus for plots and data exports to be in stage order.
2018-10-23 11:47:23 -06:00
Wes Cravens
26b0adbdde
Merge pull request #458 from JoePfeiffer/report-windSpeed
Report wind speed
2018-10-21 11:24:35 -05:00
Wes Cravens
8b0faf8308
Merge pull request #457 from JoePfeiffer/fix-booster-tumble
Fix booster tumble
2018-10-21 11:24:07 -05:00
Wes Cravens
b466b39db0
Merge pull request #455 from teyrana/fix_events
Address Some Instances of Issue #329: Connect more UI elements to their component's events
2018-10-21 11:23:40 -05:00
Wes Cravens
7fa61bf2cf
Merge pull request #453 from JoePfeiffer/fix-calcCP
Fix calc cp
2018-10-21 11:23:21 -05:00
JoePfeiffer
a5fef587f4 Wind speed wasn't being entered into data store, so was being reported
as NaN in data export.  Fixed.

TODO:  the code is very sloppy about naming variables velocity (ie
speed and direction) vs speed (ie magnitude of velocity).  Should be
fixed after this release...  I started down that rabbit hole a couple
of times before settling on just fixing the actual bug.
2018-10-21 09:35:33 -06:00
JoePfeiffer
8700450f20 Comments in BasicEventSimulationEngine.java indicate that if we're the
sustainer stage, we don't check for tumbling until after apogee, which
is consistent with the email discussion eg
https://sourceforge.net/p/openrocket/mailman/message/32016278/

Not switching to tumbling until after apogee results in unstable
booster stages going into wild oscillations, and firing an exception
terminating the branch of the simulation.  This brings the code into
conformity with the comment.
2018-10-18 18:40:41 -06:00
Joe Pfeiffer
c4793cb8b2
Merge pull request #7 from openrocket/unstable
Unstable
2018-10-18 18:34:42 -06:00
Joe Pfeiffer
ac5d71966e
Unstable (#6)
* Fix Average Thrust Calculation (fixes issue #441)

Remove test for short time interval before first data point in thrust
curve.  Comment said it was for numerical stability; multiplying by a
small number and then adding doesn't introduce any instabilities I'm
aware of in this code.

Add parentheses to clarify that values are being multiplied by time
intervals, not divided.

* Code clarification; should make no difference to results

* [refactor] fixed warnings and made variable names more explicit in [Freeform]FinSetConfig Dialogs

- de-duped  writeCSVFile methods

* [Fixes #424] Respaced FinSetConfig Window:

Resolved some sources of phantom whitespace; Spacing on component configuration
windows is now generally tighter.

* [cleanup] Refactored naming in ScaleSelector to be more consistent 'Zoom' -> 'Scale'

* [refactor] updated BoundingBox class to be more useful

- FlightConfiguration now exposes the BoundingBox method for its rocket

* [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

* [rm] excised EXTRA_SCALE (==S) factor in ScaleFigure Code

* [fix] FinPointFigure now auto-scales correctly

- auto-zooms on startup
- ScaleSelector Text updates with +/- buttons
- adjusts fin-point drawing code

* [feat] FinPointFigure draws its parent/mounting half-body (w/front & back terminators)

* [fixes #425] FinPointFigure ScrollBars now adjust with zoom in/out

* [fix] clicking away from points now longer causes an exception

* Version Bump to Alpha 8

* [fixes #424] Addes back in ConfigDialog outside spacing.

* [feature][Resolves #426] implemented FinPoint SelectedIndex Indicators

- figure and table update each other

* [fixes #419] Clicking in fin-point figure now calculates closest segment correctly

* [fixes #431] Fins default to instance count / fin count == 1

- Fixed init bug
- added unittests for fin count loading/saving/creation

* [fix] Revert patch 6289aef0... which introduced simulation anomalies

* [resolves #423][partial] BarrowmanCalculator no longer multiplies instanced leaf nodes.

* [fix] Fixes the way BarrowmanCalculator handles instancing, particularly for ComponentAssemblies

* [test] Moved fins from core-body to booster-body; (they are now doubly-instanced); adjusted tests to accept this.

* [refactor] renamed FinSet#fins => FinSet#finCount to make it's meaning more explicit

* [minor][debug][oneline] removed excess sys.err debug line

* [fixes #439] May now delete points again, in the FreeformFinSetConfig window

* [fix] AbstractScaleFigure now stores (& requires!) the visible bounds when setting zoom/scale.

- if the visible bounds are larger than the requested scale bounds, then the figure is expanded to match.

* [fixes #436] Rocket figures now center as desired.

* [fixes #425][fixes #440] FinPointFigure contents are bottom-aligned, properly sized.

* [refactor] separated FinSet Tests into files corresponding to FinSet, TrapezoidalFinSet, and FreeformFinSet

* [fixes #419] Adding new points to FreeformFins are now placed at the mouse cursor

* Little bit more massaging for clarity (replace avgImpulse with impulse)

* [fixes #426] reworks FreeformFinSet Selected point display... it is now a second, expanded, different colored box.

* missed reversing the operands in the calculation of last bit of impulse

* [build] Updated dependencies for running from intellij

* [feat] added shared build configurations for Intellij at .idea/runConfigurations/*"

* [fix][config] rename Run Target Configurations

* [build] added jar artifact for IDEA Intellij build

* [fix] run configuration and jar paths are now cross-platform

* [fix] may now create and drag a point in one click.

* [fix] cleanup up unused imports in core/test/net/sf/openrocket/rocketcomponent/*

* [cleanup] removed dead code, and fixed javadocs

* [refactor] tightened access specifiers in FinSet.java

* [fix][Refactor] rocketcomponent.position.RadiusMethod to be clearer

1. renamed getOuterRadius() => getBoundingRadius()
   Previous function did not make sense, where implemented in FinSet.
2. Changed implementation of RadiusMethod.*.getRadius()
   now fails a bit more gracefully.

* [fix] Fixes repeated bug in Presets/Material Loading -- inconsistent test criteria

* Closes 443

When the events STAGE_SEPARATION and EJECTION_CHARGE are both triggered by
BURNOUT, both events occur simultaneously and either can be inserted
in EventQueue first.  If STAGE_SEPARATION is inserted first, the
filter in BasicEventSimulationEngine.java ignoring events from
components that are no longer attached to the rocket drops ignores
EJECTION_CHARGE.  If second stage IGNITION is triggered by
EJECTION_CHARGE it is filtered out, and second stage IGNITION fails to
happen.  This can be seen in the following snippet of a log file:

10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
10592          DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03115; from Branch: Sustainer ---- Branching: Stage ----

10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = []
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0311458852237796 altitude 25.603323566419885
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0014030377018961126 (limiting factor 5), using 0.0025 instead.
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.0

Note here that there was no IGNITION in the sustainer branch, and the
Thrust is 0.0 at the end of the snippet.

Moving the test for ignition events ahead of the filter assures the
IGNITION is scheduled, as seen in this log file snippet:

8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03030; from Branch: Sustainer ---- Branching: Stage ----

8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Queueing Ignition Event for:               Body tube/334ebb79 /   A8 - Armed @: 1.0302951181945657
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8996           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -   Igniting motor:               Body tube/334ebb79 /   A8 - Armed @1.0302951181945657
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=BURNOUT,time=1.7602951181945656,source=Body tube,data=A8]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0302951181945657 altitude 25.5788943164009
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0012514398786730699 (limiting factor 5), using 0.0025 instead.
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.015609756097560644

Here, the IGNITION does take place, and Thrust is non-zero.
Displaying a plot of the flight, and saving CSV files, shows a normal
two-stage flight profile.

This commit does two things:

(1) adds a little more logging, in particular logging what event has been
    obtained from EventQueue and logging when that event is ignored.

(2) moves the motor ignition events test ahead of the filter, as
    described above.

* Correct active stages after STAGE_SEPARATION event

* oops, didn't want to keep the extra debugging log entries

* more fixes to stage ignition:  now also pays attention to ignition
type and additional delay
2018-10-18 18:27:30 -06:00
Daniel_M_Williams
2ac764b4c3 [fix][partial] Addresses some instances of #329 in NoseCones and Transitions 2018-10-15 21:12:04 -04:00
Daniel_M_Williams
f5d786fab6 [fix][partial] Address Some issues of TrapezoidFinSetConfig: isssue #329 2018-10-15 13:10:04 -04:00
Daniel_M_Williams
20318fde5c [fix][partial] Address some BodyTubeConfig instances of issue #329 2018-10-15 12:57:05 -04:00
JoePfeiffer
904f32d0ba only consider active components in Barrowman equations 2018-10-04 14:36:00 -06:00
Joe Pfeiffer
c7b3466dd5
Unstable (#5)
* Fix Average Thrust Calculation (fixes issue #441)

Remove test for short time interval before first data point in thrust
curve.  Comment said it was for numerical stability; multiplying by a
small number and then adding doesn't introduce any instabilities I'm
aware of in this code.

Add parentheses to clarify that values are being multiplied by time
intervals, not divided.

* Code clarification; should make no difference to results

* [refactor] fixed warnings and made variable names more explicit in [Freeform]FinSetConfig Dialogs

- de-duped  writeCSVFile methods

* [Fixes #424] Respaced FinSetConfig Window:

Resolved some sources of phantom whitespace; Spacing on component configuration
windows is now generally tighter.

* [cleanup] Refactored naming in ScaleSelector to be more consistent 'Zoom' -> 'Scale'

* [refactor] updated BoundingBox class to be more useful

- FlightConfiguration now exposes the BoundingBox method for its rocket

* [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

* [rm] excised EXTRA_SCALE (==S) factor in ScaleFigure Code

* [fix] FinPointFigure now auto-scales correctly

- auto-zooms on startup
- ScaleSelector Text updates with +/- buttons
- adjusts fin-point drawing code

* [feat] FinPointFigure draws its parent/mounting half-body (w/front & back terminators)

* [fixes #425] FinPointFigure ScrollBars now adjust with zoom in/out

* [fix] clicking away from points now longer causes an exception

* Version Bump to Alpha 8

* [fixes #424] Addes back in ConfigDialog outside spacing.

* [feature][Resolves #426] implemented FinPoint SelectedIndex Indicators

- figure and table update each other

* [fixes #419] Clicking in fin-point figure now calculates closest segment correctly

* [fixes #431] Fins default to instance count / fin count == 1

- Fixed init bug
- added unittests for fin count loading/saving/creation

* [fix] Revert patch 6289aef0... which introduced simulation anomalies

* [resolves #423][partial] BarrowmanCalculator no longer multiplies instanced leaf nodes.

* [fix] Fixes the way BarrowmanCalculator handles instancing, particularly for ComponentAssemblies

* [test] Moved fins from core-body to booster-body; (they are now doubly-instanced); adjusted tests to accept this.

* [refactor] renamed FinSet#fins => FinSet#finCount to make it's meaning more explicit

* [minor][debug][oneline] removed excess sys.err debug line

* [fixes #439] May now delete points again, in the FreeformFinSetConfig window

* [fix] AbstractScaleFigure now stores (& requires!) the visible bounds when setting zoom/scale.

- if the visible bounds are larger than the requested scale bounds, then the figure is expanded to match.

* [fixes #436] Rocket figures now center as desired.

* [fixes #425][fixes #440] FinPointFigure contents are bottom-aligned, properly sized.

* [refactor] separated FinSet Tests into files corresponding to FinSet, TrapezoidalFinSet, and FreeformFinSet

* [fixes #419] Adding new points to FreeformFins are now placed at the mouse cursor

* Little bit more massaging for clarity (replace avgImpulse with impulse)

* [fixes #426] reworks FreeformFinSet Selected point display... it is now a second, expanded, different colored box.

* missed reversing the operands in the calculation of last bit of impulse

* [build] Updated dependencies for running from intellij

* [feat] added shared build configurations for Intellij at .idea/runConfigurations/*"

* [fix][config] rename Run Target Configurations

* [build] added jar artifact for IDEA Intellij build

* [fix] run configuration and jar paths are now cross-platform

* [fix] may now create and drag a point in one click.

* [fix] cleanup up unused imports in core/test/net/sf/openrocket/rocketcomponent/*

* [cleanup] removed dead code, and fixed javadocs

* [refactor] tightened access specifiers in FinSet.java

* [fix][Refactor] rocketcomponent.position.RadiusMethod to be clearer

1. renamed getOuterRadius() => getBoundingRadius()
   Previous function did not make sense, where implemented in FinSet.
2. Changed implementation of RadiusMethod.*.getRadius()
   now fails a bit more gracefully.

* [fix] Fixes repeated bug in Presets/Material Loading -- inconsistent test criteria

* Closes 443

When the events STAGE_SEPARATION and EJECTION_CHARGE are both triggered by
BURNOUT, both events occur simultaneously and either can be inserted
in EventQueue first.  If STAGE_SEPARATION is inserted first, the
filter in BasicEventSimulationEngine.java ignoring events from
components that are no longer attached to the rocket drops ignores
EJECTION_CHARGE.  If second stage IGNITION is triggered by
EJECTION_CHARGE it is filtered out, and second stage IGNITION fails to
happen.  This can be seen in the following snippet of a log file:

10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
10592          DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03115; from Branch: Sustainer ---- Branching: Stage ----

10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = []
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0311458852237796 altitude 25.603323566419885
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0014030377018961126 (limiting factor 5), using 0.0025 instead.
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.0

Note here that there was no IGNITION in the sustainer branch, and the
Thrust is 0.0 at the end of the snippet.

Moving the test for ignition events ahead of the filter assures the
IGNITION is scheduled, as seen in this log file snippet:

8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03030; from Branch: Sustainer ---- Branching: Stage ----

8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Queueing Ignition Event for:               Body tube/334ebb79 /   A8 - Armed @: 1.0302951181945657
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8996           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -   Igniting motor:               Body tube/334ebb79 /   A8 - Armed @1.0302951181945657
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=BURNOUT,time=1.7602951181945656,source=Body tube,data=A8]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0302951181945657 altitude 25.5788943164009
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0012514398786730699 (limiting factor 5), using 0.0025 instead.
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.015609756097560644

Here, the IGNITION does take place, and Thrust is non-zero.
Displaying a plot of the flight, and saving CSV files, shows a normal
two-stage flight profile.

This commit does two things:

(1) adds a little more logging, in particular logging what event has been
    obtained from EventQueue and logging when that event is ignored.

(2) moves the motor ignition events test ahead of the filter, as
    described above.

* Correct active stages after STAGE_SEPARATION event

* oops, didn't want to keep the extra debugging log entries

* more fixes to stage ignition:  now also pays attention to ignition
type and additional delay
2018-09-29 16:17:33 -06:00
Wes Cravens
09fca29aab
Merge pull request #449 from JoePfeiffer/fix-staging
Fix staging
2018-09-29 14:57:17 -05:00
Wes Cravens
56eabdc5ac
Merge pull request #447 from teyrana/alpha8
Alpha8 - Bugfix Collection
2018-09-29 14:57:05 -05:00
Wes Cravens
6fc5a2861b
Merge pull request #444 from JoePfeiffer/fix-stage-ignition
Fix stage ignition
2018-09-29 14:56:51 -05:00
Wes Cravens
7177ca422c
Merge pull request #442 from JoePfeiffer/fix-getAverageThrust
Fix getAverageThrust (fixes issue #441)
2018-09-29 14:56:28 -05:00
JoePfeiffer
cfa49b0655 more fixes to stage ignition: now also pays attention to ignition
type and additional delay
2018-09-29 13:01:00 -06:00
JoePfeiffer
32cf8f1776 oops, didn't want to keep the extra debugging log entries 2018-09-25 08:53:09 -06:00
JoePfeiffer
dfe7e411d9 Correct active stages after STAGE_SEPARATION event 2018-09-25 08:39:55 -06:00
JoePfeiffer
99a3065faf Merge branch 'fix-stage-ignition' of https://github.com/JoePfeiffer/openrocket into fix-stage-ignition 2018-09-19 19:29:15 -06:00
JoePfeiffer
7d4c73f32b Closes 443
When the events STAGE_SEPARATION and EJECTION_CHARGE are both triggered by
BURNOUT, both events occur simultaneously and either can be inserted
in EventQueue first.  If STAGE_SEPARATION is inserted first, the
filter in BasicEventSimulationEngine.java ignoring events from
components that are no longer attached to the rocket drops ignores
EJECTION_CHARGE.  If second stage IGNITION is triggered by
EJECTION_CHARGE it is filtered out, and second stage IGNITION fails to
happen.  This can be seen in the following snippet of a log file:

10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
10592          DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03115; from Branch: Sustainer ---- Branching: Stage ----

10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = []
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0311458852237796 altitude 25.603323566419885
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0014030377018961126 (limiting factor 5), using 0.0025 instead.
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.0

Note here that there was no IGNITION in the sustainer branch, and the
Thrust is 0.0 at the end of the snippet.

Moving the test for ignition events ahead of the filter assures the
IGNITION is scheduled, as seen in this log file snippet:

8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03030; from Branch: Sustainer ---- Branching: Stage ----

8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Queueing Ignition Event for:               Body tube/334ebb79 /   A8 - Armed @: 1.0302951181945657
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8996           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -   Igniting motor:               Body tube/334ebb79 /   A8 - Armed @1.0302951181945657
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=BURNOUT,time=1.7602951181945656,source=Body tube,data=A8]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0302951181945657 altitude 25.5788943164009
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0012514398786730699 (limiting factor 5), using 0.0025 instead.
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.015609756097560644

Here, the IGNITION does take place, and Thrust is non-zero.
Displaying a plot of the flight, and saving CSV files, shows a normal
two-stage flight profile.

This commit does two things:

(1) adds a little more logging, in particular logging what event has been
    obtained from EventQueue and logging when that event is ignored.

(2) moves the motor ignition events test ahead of the filter, as
    described above.
2018-09-19 18:53:43 -06:00
JoePfeiffer
42022c7815 Closes 443
When the events STAGE_SEPARATION and EJECTION_CHARGE are both triggered by
BURNOUT, both events occur simultaneously and either can be inserted
in EventQueue first.  If STAGE_SEPARATION is inserted first, the
filter in BasicEventSimulationEngine.java ignoring events from
components that are no longer attached to the rocket drops ignores
EJECTION_CHARGE.  If second stage IGNITION is triggered by
EJECTION_CHARGE it is filtered out, and second stage IGNITION fails to
happen.  This can be seen in the following snippet of a log file:

10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
10592          DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10592          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
10592          INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03115; from Branch: Sustainer ---- Branching: Stage ----

10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0311458852237796,source=Stage,data=B4]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = []
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0311458852237796,source=Rocket,data=[25.502739793351193;25.603323566419885]]
10593          TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0311458852237796 altitude 25.603323566419885
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0014030377018961126 (limiting factor 5), using 0.0025 instead.
10593          TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.0

Note here that there was no IGNITION in the sustainer branch, and the
Thrust is 0.0 at the end of the snippet.

Moving the test for ignition events ahead of the filter assures the
IGNITION is scheduled, as seen in this log file snippet:

8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=BURNOUT,time=1.03,source=Body tube,data=B4]
8994           DEBUG [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -  detected Motor Burnout for motor B4@ 1.03  on stage 1: Stage
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4], FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8994           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=STAGE_SEPARATION,time=1.03,source=Stage,data=null]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - ==>> @ 1.03030; from Branch: Sustainer ---- Branching: Stage ----

8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=EJECTION_CHARGE,time=1.0302951181945657,source=Stage,data=B4]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8995           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Queueing Ignition Event for:               Body tube/334ebb79 /   A8 - Armed @: 1.0302951181945657
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Ignoring event from unattached componenent
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8995           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=IGNITION,time=1.0302951181945657,source=Body tube,data=A8]
8996           INFO  [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine -   Igniting motor:               Body tube/334ebb79 /   A8 - Armed @1.0302951181945657
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Obtained event from queue:  FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Remaining EventQueue = [FlightEvent[type=BURNOUT,time=1.7602951181945656,source=Body tube,data=A8]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Handling event FlightEvent[type=ALTITUDE,time=1.0302951181945657,source=Rocket,data=[25.478255057184594;25.5788943164009]]
8996           TRACE [pool-4-thread-1] n.s.o.s.BasicEventSimulationEngine - Taking simulation step at t=1.0302951181945657 altitude 25.5788943164009
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Too small time step 0.0012514398786730699 (limiting factor 5), using 0.0025 instead.
8996           TRACE [pool-4-thread-1] n.s.o.s.RK4SimulationStepper - Thrust = 0.015609756097560644

Here, the IGNITION does take place, and Thrust is non-zero.
Displaying a plot of the flight, and saving CSV files, shows a normal
two-stage flight profile.

This commit does two things:

(1) adds a little more logging, in particular logging what event has been
    obtained from EventQueue and logging when that event is ignored.

(2) moves the motor ignition events test ahead of the filter, as
    described above.
2018-09-19 18:43:49 -06:00
Daniel_M_Williams
8656dd287d [fix] Fixes repeated bug in Presets/Material Loading -- inconsistent test criteria 2018-09-09 12:37:29 -04:00
Daniel_M_Williams
d6f808b376 [fix][Refactor] rocketcomponent.position.RadiusMethod to be clearer
1. renamed getOuterRadius() => getBoundingRadius()
   Previous function did not make sense, where implemented in FinSet.
2. Changed implementation of RadiusMethod.*.getRadius()
   now fails a bit more gracefully.
2018-09-09 12:29:11 -04:00
Daniel_M_Williams
cfef7532ab [refactor] tightened access specifiers in FinSet.java 2018-09-03 22:54:42 -04:00
Daniel_M_Williams
efd8a3e15e [cleanup] removed dead code, and fixed javadocs 2018-09-03 22:52:25 -04:00
Daniel_M_Williams
8dc851e1db [fix] cleanup up unused imports in core/test/net/sf/openrocket/rocketcomponent/* 2018-09-03 22:51:00 -04:00
Daniel_M_Williams
8d439db6e0 [fix] may now create and drag a point in one click. 2018-09-03 21:56:37 -04:00
Daniel_M_Williams
ef3792d9cb [fix] run configuration and jar paths are now cross-platform 2018-09-03 14:10:00 -04:00
Daniel_M_Williams
4487e457de [build] added jar artifact for IDEA Intellij build 2018-09-03 14:10:00 -04:00
Daniel_M_Williams
43b8ec3fa5 [fix][config] rename Run Target Configurations 2018-09-03 14:10:00 -04:00
Daniel_M_Williams
9f8e57e36c [feat] added shared build configurations for Intellij at .idea/runConfigurations/*" 2018-09-03 14:10:00 -04:00
Daniel_M_Williams
b63616b1be [build] Updated dependencies for running from intellij 2018-09-03 14:10:00 -04:00
Joe Pfeiffer
7a04bd567c missed reversing the operands in the calculation of last bit of impulse 2018-08-27 09:16:16 -06:00
Daniel_M_Williams
3153ccf545 [fixes #426] reworks FreeformFinSet Selected point display... it is now a second, expanded, different colored box. 2018-08-26 18:39:59 -04:00
Joe Pfeiffer
d2cdea2113 Little bit more massaging for clarity (replace avgImpulse with impulse) 2018-08-26 16:32:44 -06:00
Daniel_M_Williams
e4b6b25a8b [fixes #419] Adding new points to FreeformFins are now placed at the mouse cursor 2018-08-26 17:31:46 -04:00
Daniel_M_Williams
f3dbceba37 [refactor] separated FinSet Tests into files corresponding to FinSet, TrapezoidalFinSet, and FreeformFinSet 2018-08-26 17:27:41 -04:00
Daniel_M_Williams
104b0ce74f [fixes #425][fixes #440] FinPointFigure contents are bottom-aligned, properly sized. 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
10a0cabd98 [fixes #436] Rocket figures now center as desired. 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
c971978b02 [fix] AbstractScaleFigure now stores (& requires!) the visible bounds when setting zoom/scale.
- if the visible bounds are larger than the requested scale bounds, then the figure is expanded to match.
2018-08-26 16:59:01 -04:00
Daniel_M_Williams
3593b2197b [fixes #439] May now delete points again, in the FreeformFinSetConfig window 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
8dfd4bfd53 [minor][debug][oneline] removed excess sys.err debug line 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
fab167abdc [fix] Fixes the way BarrowmanCalculator handles instancing, particularly for ComponentAssemblies 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
e6b788cb0b [test] Moved fins from core-body to booster-body; (they are now doubly-instanced); adjusted tests to accept this. 2018-08-26 16:59:01 -04:00
Daniel_M_Williams
4cb8a03454 [resolves #423][partial] BarrowmanCalculator no longer multiplies instanced leaf nodes. 2018-08-26 16:59:01 -04:00