275 Commits

Author SHA1 Message Date
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
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
ec5a3119c5 [Bugfix] Fixed Core Positioning Code
- Launch Lugs correctly position themselves
    (used to default to the centerline of the rocket)
    added LaunchLugTest class
- Booster Sets automatically adjust radial distance
    - based on own, and others' body radius.
- Refactored shiftCoordinates(...) => getInstanceLocations()
2015-11-19 17:53:28 -05:00
Daniel_M_Williams
afe56365f4 Added BarrowmanCalculator tests 2015-11-18 12:05:36 -05:00
Daniel_M_Williams
ee887cae08 [Bugfix] Tested/Fixed Mass Override Calculation Code
- MassCalculator class:
    fixed mass
    fixed CG x-value overrides
- MassCalculatorTest class:
    added tests for:
        setOverrideMass(...)
        setOverrideCGX(...)
2015-11-17 10:04:30 -05:00
Daniel_M_Williams
9d78d823b6 cleaned up extra debug statements 2015-11-15 11:23:20 -05:00
Daniel_M_Williams
4c7c3be9f7 [Bugfix] Verify / Fix Mass Calculation Code
- MassCalculator class:
    Debug toggle will print debug-level output to stderr
    fixed / reimplemented:
        getCG(...) -> getCM( FlightConfiguration, MassCalcType);
        -> getRotationalInertia( FlightConfiguration, MassCalcType);
        -> getLongitudinalInertia( FlightConfiguration, MassCalcType);
- MassData class:
    can now add MassData classes
    Instanced componets w/children:
       take into account component mass...
    propellantMass field is vague: no indication whether it's include in the inertia or not.
    longitudinalInertia => rollMOI (?)
    rotationalInertia => yaw / pitch MOI (?)
    assorted other fixes
- added unit test classes:
    ... .masscalc.MassCalculatorTest;
    ... .masscalc.MassDataTest;
2015-11-14 11:19:08 -05: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
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
1d327e6dbb [Bugfix] Configuration.getActiveComponents() fixed 2015-09-17 09:16:47 -04:00
Daniel_M_Williams
5f3bbc3103 added unit tests for masscalculator 2015-09-16 16:12:47 -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
ea8066f63c Fixed GUI elements & function f/Boosters/Pods
Model
  Refactored code from AxialStage, BoosterSet, PodSet => ComponentAssembly

GUI
  BoosterSet: Fixed bugs, allowed boosters and pods to be correctly located.
2015-08-27 08:54:35 -04:00
Daniel_M_Williams
0c01123551 refactored Stages (Axial & Booster) now load correctly. 2015-08-25 22:38:13 -04:00
Daniel_M_Williams
c8a3d675d8 messy commit: refactored Stage => AxialStage, BoosterSet, PodSet 2015-08-25 09:57:23 -04:00
Daniel_M_Williams
0fbdc33188 Fixed numerous display bugs-- including stage placement, engine instancing. 2015-08-12 14:02:24 -04:00
Daniel_M_Williams
6f039a992b changing internal positioning back to top-top 2015-08-01 14:57:10 -04:00
Daniel_M_Williams
5f42a10c20 [Major Refactor] Parallel stages are children of centerline stages 2015-07-24 16:44:10 -04:00
Daniel_M_Williams
2f42594acb fixed many display issues relating to refactoring of RocketComponent axialOffset code. 2015-07-21 14:16:13 -04:00
Doug Pedrick
f1cf8c88bd Added support for Rocksim Tube Fin Set file elements (import and export). 2015-03-29 11:56:15 -05:00
Sampo Niskanen
8c00dbf159 Add unit tests for file version 1.7 (simulation extensions) 2015-01-10 18:36:24 +02:00
Sampo Niskanen
a6c2092379 Move TestScriptingUtil to test/ directory 2015-01-10 17:50:11 +02:00
Sampo Niskanen
a1f6782195 Disable untrusted scripts on loading files 2015-01-06 19:25:13 +02:00
Sampo Niskanen
a39a3fce15 Add support for multiple scripting languages 2014-12-27 23:50:54 +02:00
Sampo Niskanen
82af205e3e Merge remote-tracking branch 'upstream/master' into feature/simulationextensions
Conflicts:
	core/src/net/sf/openrocket/simulation/SimulationStatus.java
2014-12-23 21:01:48 +02:00
Daniel_M_Williams
67e741a2df [Fix][Cont] Added Unit test for RSE-load negative mass bug.
- Added Test case in TestMotorLoader.java
  - Added Test load file 'test3.rse' which would previously raise an IOException on load.
  - Added this test case to the 'testGeneralMotorLoader' method as well.
  - Adjusted the digest string so that 'test3.rse' will pass the unit tests.
  - TestMotorLoader currently passes 5/5 unit tests.
2014-10-29 14:55:32 -06:00
Doug Pedrick
c2e79ba50e Added support for Rocksim SubAssembly file elements (import only). 2014-08-30 21:08:13 -05:00
Sampo Niskanen
b6e3a57b47 Implement simulation extensions
Squashed commit of the following:

commit 058f603c23accbcdbe9110645f19164da7d57c85
Author: Sampo Niskanen <sampo.niskanen@iki.fi>
Date:   Sat Apr 12 10:52:21 2014 +0300

    Implmenent simulation extensions

commit a1ca913c7d7793a9209a5f98235336270db6ce10
Author: Sampo Niskanen <sampo.niskanen@iki.fi>
Date:   Fri Apr 11 19:45:12 2014 +0300

    WIP

commit 916f0bc8961360c0906b413485ca4e3700033740
Author: Sampo Niskanen <sampo.niskanen@iki.fi>
Date:   Tue Apr 1 20:23:25 2014 +0300

    WIP
2014-04-12 10:54:17 +03:00
kruland
b39cd8a016 Fix for Issue #175. Use a larger number to test equality of fin point y
positions to reduce numerical stability in computation of chord lengths.
2014-01-17 20:36:46 -06:00
kruland2607
d692288f68 Added build.xml driver in root directory. Moved a few files around to support
unittest.
2013-09-30 11:38:54 -05:00
kruland2607
26fb295554 Rework source structure to separate swing gui code from core code.
Separate swing application code from core code.  Moved a bunch of sources
and libraries around.  Created new eclipse project.

Further refinements to make it build.

Update gitignore.
2013-09-27 11:34:46 -05:00
Sampo Niskanen
10dbc856ee Remove unnecessary FIXMEs 2013-09-08 22:20:38 +03:00
soupwizard
df85d0ee53 Added unittests saving and loading rockets to/from tmp in various file versions.
Added @Ignore  and FIXME to failing LogLevelBufferLoggerTest
Fixed failing unitest IntegrationTest.java
Added test rockets for the various file versions of .ork
Changed TestMutex.java to write  messages to log saying that certain exceptions
that appear in log during unittests are ok because the test can't catch them.
2013-06-08 19:09:36 -07:00
soupwizard
d57b132b51 Added tests for OR file versions. Added test rockets for each version number that is implemented. 2013-06-05 20:10:25 -07:00
soupwizard
845780a2bc Fixed unittest failure in LogLevelTest. Added config dir with logback
config file that set logging to stdout and level to Error.  Modified
unittest target used by travis-ci to use new logback config file to
reduce clutter in unittest output.  Commented out superfluous
System.println's from various unit tests to also reduce clutter.
2013-06-03 17:55:32 -07:00
kruland2607
15ecef0bd7 Repackage a bunch of stuff. Rework the GuiModule so it stands alone. 2013-05-13 09:46:56 -05:00
kruland2607
ae7b2b3af1 Startup cleanup. Moved the entire swing application startup into a
single class.  Created BasicApplication as a simple way to initialize
little applications.  Pulled the dependency on WatcherService out from
DecalImage.
2013-05-12 20:26:22 -05:00
kruland2607
bd3c68131a Removed horrible static initialization of logging system and instead
rely on magic - the fact we are using logback classic and the logger is
named "buffer".
2013-05-10 10:39:35 -05:00
kruland2607
96689c69e2 Use slf4j for all logging within the application. 2013-05-09 21:34:19 -05:00
Sampo Niskanen
d5e981af7e Fix failing unit test 2013-05-04 21:11:03 +03:00
kruland2607
b5610b0926 Fix the expectations in the PresetTests to account for changes in the
DebugTranslator for material names.
2013-04-25 11:16:31 -05:00
kruland2607
6caca93421 Renamed BaseApplicationAbstractTest to AbstractBaseApplication so it
wouldn't get executed by the unittest target.
2013-04-24 14:17:37 -05:00
kruland2607
3dec7ec154 Merge pull request #67 from soupwizard/master
Update travis-ci config, fix non-ascii char in FinRenderer, Add new unit tests for Configuration.java.
2013-04-24 07:11:09 -07:00
kruland2607
8a31d358d4 Set Spill hole in rocksimTestRocket3.rkt to 1.0 so the loader will
generate the warning.  I had changed generation of the SpillHole warning
to only be issued if the diameter is > 0.
2013-04-24 09:04:58 -05:00
soupwizard
448d2e606c Update travis-ci config file run unittests. Add new unittest ConfigurationTest.java. Fix FinRenderer.java to not have non-ascii character in a comment. 2013-04-23 14:26:46 -07:00
kruland2607
1f109acf41 Fix PluginTest by creating the PluginModule as a child of the
ApplicationModule.  Unfortunately, ApplicationModule requires a
preference provider to be set.
2013-04-22 15:32:29 -05:00
kruland2607
f899b9fb2e Fixed RocksimDocumentDTOTest by having RocksimTestBase extend
BaseApplicationAbstractTest to create a more complete Application
object.
2013-04-22 09:14:15 -05:00