431 Commits

Author SHA1 Message Date
Daniel_M_Williams
6af57134aa [Bugfix] Removed "Automatic" ignition Option
Removed Automatic ignition Option
    - "bottom" core stage is ill-defined in current configuration
    - 'automatic' values in files get loaded as 'launch'
Fixed file values for loading Pods
2015-12-13 11:08:32 -05:00
Daniel_M_Williams
ec05e46a0e [Bugfix] Fixed Stage Separation Bugs
UI elements now change per-configuration separations not the defaults
   fixed separation configuration file-write code.
Added max-time guard for simulations at 1200 seconds.
2015-12-12 19:38:38 -05:00
Daniel_M_Williams
238726f371 Merge branch 'master' of https://github.com/openrocket/openrocket into parallel_staging
Conflicts:
	swing/src/net/sf/openrocket/gui/main/BasicFrame.java (resolved)
2015-12-12 11:14:13 -05:00
Daniel_M_Williams
fc3e19fbcd [Bugfix] Fixed Display (and other) bugs
FlightConfiguration.clone() now correctly clones internal data
    -> caused mysterious disapearing-rocket-display bug
    -> added FlightConfiguration.instanceNumber for debugging
Refined stage-set-active methods to fine tune event firings
Improved output of various debug methods.
Fixed various warnings
2015-12-12 11:00:17 -05:00
Kevin Ruland
b415238a02 Changed Motor to support additional fields case info, prop info, and
availability flag provided by Thrustcurve.org.  Change serialization
process to pull current files from Thrustcurve.org using the xml api,
use the corrected data for diameter and length, and use a consistent
motor designation.  Added fields to the Motor chooser - case info is a
column in the listing (replacing MotorType), the other info is in the
motor details tab.  Added toggle to hide motors which are OOP.
2015-12-07 22:27:05 -06:00
Daniel_M_Williams
1988ee4266 [Bugfix] Fixed Simulations bugs - Sim should be operational now.
Motors are now cloned for each new simulation (including background and foreground runs)
    -> motors are now cloned within the configuration clone method.
    -> MotorInstance.reset() resets instance to launch state
Removed spurious negative time-step check in ThrustCurveMotorInstance:154
    -> was triggered during normal simulation operations.
Added MotorInstance time updates to AbstractSimulationStepper:
    -> moved from MotorInstanceConfiguration.step(...)
Misc variable name changes to be more descriptive
2015-12-06 12:09:29 -05:00
Daniel_M_Williams
729effd690 [Bugfix] Merged FlightConfiguration MotorInstanceConfiguration
fixed ignition configuration load / save
2015-12-03 21:44:34 -05:00
Daniel_M_Williams
defcf24c86 [Bugfix] Fixed several Config Id-Simulation Display Issues
- Initial selected configuration is the last loaded
- Correctly loads the correct config Id for each simulation
- Can correctly display the Config Id for each sim. (both in table, and edit)
2015-12-02 19:44:55 -05:00
Daniel_M_Williams
040c451a3d [Bugfix] Improves FlightConfiguration selection, readability
-ParameterSetModel fixed - controlled configuration in the main window. et al.
    - now implements a generic ComboBoxModel<T>, instead of just a FlightConfigurationId.
2015-12-01 18:43:21 -05:00
Daniel_M_Williams
c65fb80dbf [Bugfix] Various small tweaks, Improved Configuration Naming
- events from a rocket start out disabled, and are turned on by the RocketLoader
- FlightConfgurations will once again describe their contained motors, if not explicitly named otherwise
- Refined ComponentChangeEvent type enum
- Added other miscellaneous debugging statements and methods
2015-12-01 14:38:48 -05:00
Daniel_M_Williams
c826062be3 [Minor] Tweaked DebugLogDialog to maximize its real estate. 2015-11-29 18:36:42 -05:00
Daniel_M_Williams
698c722c33 added shortcut key for log window: <mod> + D 2015-11-29 18:00:51 -05:00
Daniel_M_Williams
b1108a0c83 [bugfix] refixed motor loading code. 2015-11-29 17:42:14 -05:00
Daniel_M_Williams
a43fbe79bc [bugfix] 'remove motor' button now works correctly 2015-11-26 09:05:08 -05:00
Daniel_M_Williams
12cda5b722 small internal API refinements 2015-11-25 18:02:25 -05:00
Daniel_M_Williams
08077392bd added rotation of the railbutton in 3D viewing. 2015-11-24 18:55:07 -05:00
bkuker
2d465a3576 Simple rail button render 2015-11-24 13:13:17 -05:00
Daniel_M_Williams
657c407ba5 [UI] fixed RailButton UI, file I/O 2015-11-23 23:54:07 -05:00
Daniel_M_Williams
1ce452265c [Feature] Implemented RailButton Shapes (2D only)
RailButtons loaded, edited, and displayed (in 2d, and 3d)
2015-11-23 14:40:57 -05:00
Daniel_M_Williams
82e3a7ff1c [Feature] Implemented more RailButton code:
RailButtons can be loaded, and edited, but not really displayed.
    - data entry has defined file parameters, but needs some debugging.
    - added icons for component creation.  The button just needs to be uncommented
    - display works, but only for rotation = 0;
       - requires a new type of shape drawing.  Not inherently hard, just tedious.
2015-11-22 22:28:51 -05:00
Daniel_M_Williams
e3250c9a91 added exploratory code for non-axisymmetric CPs 2015-11-22 10:12:30 -05:00
Kevin Ruland
0caaf04e06 File Chooser object for save as. 2015-11-22 06:22:12 -06:00
Kevin Ruland
4924773c3a Changed to using Import/Export file menu functions to handle RockSim
formatted files.  Save & Save As will only save in ork format.
2015-11-21 21:37:57 -06:00
Daniel_M_Williams
2501bc2b8f [Bugfix] Enabled auto-positioning of parallel stages
AutoRadialOffset is a boolean flag on parallel stages
    - when enabled, the radialOffset is automatically
    - auto radius is based on the max radius of contained components
2015-11-21 10:02:16 -05:00
Daniel_M_Williams
afe56365f4 Added BarrowmanCalculator tests 2015-11-18 12:05:36 -05:00
Kevin Ruland
e8167ac159 Added message properties and prefs for showing warning dialogs.
Restored auto-open last design preference.
2015-10-28 06:27:55 -05:00
Daniel_M_Williams
c7c250ba8d [Bugfix] Changed Behavior In motor choosing dialog
-When checking: "Limit motor length to mount length"
    -prevents other sliders from modifying value
2015-10-27 12:15:33 -04:00
Daniel_M_Williams
035427fd5b [Bugfix] Refactored FlightConfigurationID to UUID directly 2015-10-23 18:16:24 -04:00
Daniel_M_Williams
d977733cf5 [Bugfix] More Motor Ignition UI issues
- Selecting an option in the Ignition Chooser dialog updates itself
- When updating all motor ignition events, the default is also updated.
- removed isDefaultMotorInstance from MotorMounts
    - default is always the Empty Instance, which has a built in test: 'isEmpty'
- in MotorConfigurationPanel: ignition events are gray out, if they match the default ignition event
2015-10-23 17:49:38 -04:00
Daniel_M_Williams
64417ca93c [minor] Fixed length filter options in Motor Dialog 2015-10-23 16:21:54 -04:00
Daniel_M_Williams
86e8a96d06 [Bugfix] Fixed Various configuration and motor UI bugs
- The active / default configuration is stored in the Rocket's ParameterSet.
    - Any use of it should be retrieved from here.
    - Don't Repeat Yourself
- RocketPanel updates the rocket's default/active configuration, and only draws that one
- updated code for setting new Motor to a MotorInstance (in the MotorMounts)
2015-10-23 14:43:29 -04:00
Daniel_M_Williams
3ae4b0d277 [Bugfix] Fixed some FlightConfiguration-related UI elements
- Removed configuration from the document class -- please retrieve it from the rocket instead
- Refined debug code points, particularly in InnerTube
- Fixed <RocketComponent>.removeChild( component ) to function correctly
- fixed UI element: FlightConfiguration ComboBox chooser
    - Renamed FlightConfigurationSet -> ParameterSet
    - FlightConfigurationModel -> ParamaterSetModel
- fixed engine drawing (partially. Still needs Testing.
2015-10-22 20:13:36 -04:00
Daniel_M_Williams
8e78a314cd [Bugfix] Ironing out motor-instance model changes.
- renamed <RocketComponent>.getLocation() => getLocations()
    - trailing 's' matches return type
- made <RocketComponent>.shiftCoordinates protected (from public)
    => references converted to <>.getLocation() calls
- Reduced functions in "Instanceable" interface.
- Fixed Motor Instancing Code
- Removed 'isCenterline()' tester method
- added 'isAfter()' tester method
- OutsideComponent interface removed.
    => was redundant with RingInstanceable.
2015-10-20 17:22:55 -04:00
Daniel_M_Williams
35b46ca44f [Bugfix] Display now updates with editing changes. 2015-10-19 11:26:11 -04:00
Daniel_M_Williams
dac67b0f71 [Bugfix] Fixed UI issues related to 'Instanceable' implementation.
- RingComponent is no longer Instanceable.
- Fixed setter settings for file loading:
    - Fixed methods references for Innstanceable-implementing classes
        - BoosterSet
        - PodSet
        - InnerTube
        - CenteringRing
        - LaunchButton
        - LaunchLug
2015-10-16 19:56:02 -04:00
Daniel_M_Williams
80c4ef5254 [Bugfix] Fixed UI issues related to 'Instanceable' implementation.
- Added set/get InstanceCount methods to BoosterSet, PodSets.
- changed order of editing tabs for BoosterSets, PodSets.
- When editing MotorMounts, fixed an incorrect model reference.
2015-10-16 19:05:32 -04:00
Daniel_M_Williams
a7b4386358 [minor] removed spurious System.err.println() calls 2015-10-16 18:27:21 -04:00
Daniel_M_Williams
1719351a63 [Bugfix] .ORK I/O Bugfixes...
- Corrected FlightConfiguration, MotorConfiguration ID issues
  - output code no longer outputs extra FlightConfigurations
  - recovery Devices no longer print out FlightConfigurations w/o specific settings
- Reverted Default Value for FlightConfigurationSet is just a member field
    - creates extraneous code when included in the map.
    - fixed corresponding display issues.
2015-10-16 18:11:27 -04:00
Daniel_M_Williams
9551ddc0cb [Bugfix] Bugfixes: Ability to Rename, Delete FlightConfigurations. 2015-10-15 12:21:43 -04:00
Daniel_M_Williams
55acf6cebf [Bugfix] Fixing Configuration Editing UI
- Default Parameter in FlightConfigurationSet<T> is now totally separate from those listed in the map.
    - note: the default option =/= the option for the default FlightConfiguration ...
    - defaultValue is now included in the map, with a dedicated static final key.
    - defaultValue may only be replaced, not removed.
- "Select Ignition" button now functions correctly
- "Reset Ignition" button functions correctly
2015-10-15 11:33:33 -04:00
Daniel_M_Williams
b3c1c5fac1 [Bugfix] Cleaning up FlightConfigurationID handling. Multiple Fixes.
-Fixed Motor Choosing UI Function
-Fixed Motor Remove UI Function
-Fixed UI display bug:  pass FlightConfigIDs instead of naked Strings.
-FlightConfigurationIDs now filter out keytext only. (spurious "key: " appended)
-Fixed extra de-select when navigating MotorSelection / FlightConfig selection tables
    - code no longer sets selected cell / config as the default item
2015-10-12 12:20:45 -04:00
Daniel_M_Williams
059c9cf0db [bugfix] Flight Configuration management bugs fixed
Removed "Rename Configuration" Button => "Reset to Default" (is now obsolete)
Re-implemented 'create new configuration' button
2015-10-09 17:56:30 -04:00
Daniel_M_Williams
0a55f59548 [Minor] Harmonized interface for instanceable components
Implemented 'Instanceable' Interface
    - MotorMount implements instanceable
        - BodyTube
        - Innertube
    -RingInstance interface
        - BoosterSet
        - PodSet
    -LineInstanceable interface [This feature is not exposed in UI)
        - LaunchLug
        - LaunchButton (Stub only, ATT)
        - RingComponent (abstract ancestor class)
-Reverted MotorMount Function names to "[is|set]MotorMount"
2015-10-06 12:02:57 -04:00
Daniel_M_Williams
1401d99528 [Major] Overhauled Configuration class to be more useful/ powerful.
-Each configuration has an fcid (FlightConfigurationId)
-FlightConfigurationID is a new type.
    - small wrapper class around String
    - provides better traceability, error detection, readability
    - the fcid is now the hashMap key for any FlightConfigurationSet
-rename Configuration => FlightConfiguration (to be more explicit about class purpose)
-combine MotorInstance =><= motorConfiguration
-Refactor ThrustCurveMotorInstance into an outer public class
-MotorId => (ren) => MotorInstanceID
-fold IgnitionConfiguration => <MotorInstance>.<IgnitionConfiguration>
-Created IgnitionEvent class
-Implemented partial checking for file version 1.8
-rename FlightConfigurationImpl => FlightConfigurationSet
-rename MotorFlightConfigurationImpl => MotorConfigurationSet

- Rockets now list all configurations
    -implemented a FlightConfigurationSet of FlightConfigurations
2015-10-05 14:32:03 -04:00
Daniel_M_Williams
34091e338e [Bugfix] fixed Configuration getActive... routines
- getActiveStages() now correctly returns only active stages
- getActiveComponents() now returns children of all active stages exactly once
- Refactored the shape generate routines in rocketfigure
    - correctly omits inactive stages
    - always includes active stages
2015-09-20 17:55:18 -04:00
Daniel_M_Williams
497fb658c7 UI now draws only active stages 2015-09-17 09:18:28 -04:00
Daniel_M_Williams
552706f6b9 Merge branch 'master' of https://github.com/openrocket/openrocket into child_staging 2015-09-16 16:09:58 -04:00
Daniel_M_Williams
6c11fb2751 [Bugfix] Refactored Configurations:
-Configuration refactor
  -stages are toggled individually
  -removed set-up-to-stage method
-MotorInstance refactor: multiple Lists -> one map<MotorId,MotorInstance>
    moved most of the fields to MotorInstance.java
2015-09-16 15:52:20 -04:00
Daniel_M_Williams
85dff39fb9 folded BasicMassCalculator into MassCalculator 2015-09-16 15:52:20 -04:00
Kevin Ruland
cec7005e56 Work around reported bug concerning TimSort and comparators violating
contract.
2015-09-12 06:37:06 -05:00