1865 Commits

Author SHA1 Message Date
Billy Olsen
74ec0be340 Make TubeFinSet RingInstanceable
Make the TubeFinSet RingInstanceable. This change updates the rendering
of both the 2D and 3D views to handle the RingInstanceable shapes. This
also updates the DocumentConfig to parse the new XML formats properly.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-07-25 18:26:07 -07:00
Daniel_M_Williams
e9981aff28 [debug] removed excess debug output in FinSet 2020-07-19 11:30:54 -04:00
Daniel_M_Williams
69a338f440 [feat] Add a return value to BoundingBox.update(Coordinate) 2020-07-12 15:39:33 -04:00
Daniel_M_Williams
45fdb55dc4 [fix] prevents users from adjusting FreeformFins into intersecting (non-physical) positions 2020-07-12 15:39:24 -04:00
Daniel_M_Williams
358b3dc527 [fix] Added new BoundingBox tests; adjusted Falcon 9H Properties 2020-07-12 15:39:20 -04:00
Daniel_M_Williams
22160dbe5d [refactor] BodyTube now implements the BoxBounded interface 2020-07-12 15:22:23 -04:00
Daniel_M_Williams
7b81f763c7 [refactor] ComponentAssembly components no longer have bounds -- it's calculated from individual components, on a per-instance basis. 2020-07-12 15:17:51 -04:00
Daniel_M_Williams
0a9df5cc64 [refactor] Refactored FlightConfiguration.calculateBounds to be clearer 2020-07-12 15:16:42 -04:00
Joe Pfeiffer
056c6b2b39
Merge pull request #688 from JoePfeiffer/fin-moi
fixes Fin MOI calculations
2020-07-11 11:33:48 -06:00
JoePfeiffer
e30eb4b523 clarify comments 2020-07-09 10:14:28 -06:00
JoePfeiffer
69e45029a2 Adjust expected unit test results to account for modified longitudinal MOI calculation 2020-07-08 14:36:28 -06:00
JoePfeiffer
e1f59d7dc8 bit more comment cleanup 2020-07-07 10:52:32 -06:00
JoePfeiffer
224e0ea3fd In getLongitudinalUnitInertia(), modify so parallel axis theorem is only applied to Izz (yaw), not Iyy (pitch).
Modify code for getLongitudinalUnitInertia() and getRotationalUnitInertia() so similar functions have more similar code.

Add comments to clarify getLongitudinalUnitInertia() and getRotationalUnitInertia()
2020-07-06 19:16:55 -06:00
Daniel_M_Williams
53ec830919 [fix] made string -> hashcode conversion explicit, to placate IDE warnings 2020-07-04 12:42:37 -04:00
Daniel_M_Williams
9f5d4a2d27 [enable] Re-enables, fixes ComponentAnalysisDialog 2020-07-03 10:05:09 -04:00
JoePfeiffer
87c26cccf4 Modified unit test expected results to match corrected fin MOI.
testAlphaIIIStructure
    Three fins in finset, so Ixx and Iyy are reduced by a factor of 3
    Ixx reduced from 5.2771946530250825E-5 to 1.7590648843416942E-5
    Iyy reduced from 1.3580770106050167E-4 to 4.526923368683389E-5

    Total rocket MOI changed to Ir=1.8763734635622462E-5 and
    It=2.1238394331365588E-4

testFalcon9HComponentMOI
    Three fins in finset, so
    finset rotational MOI  changed from 0.00413298 to 0.001377661595723823
    finset longitudinal MOI changed from 0.01215133 to 0.004050443797127646

testFalcon9HeavyBoosterLaunchMOIs
    Two finsets, each three fins.  Each finset's MOI are reduced as in
    testFalcon9HComponentMOI, resulting in change to totals
    Ir=0.013480523485489424, It=0.07017476021288252

testFalcon9HeavyBoosterSpentMOIs
    Two finsets, each three fins, as above
    Ir=0.010420016485489425, It=0.06398514917026163

testFalcon9HeavyBoosterStageMassOverride
    Two finsets, each three fins, as above
    Ir=0.007100144485489424, It=16.030625168315694

testFalcon9HeavyComponentCMxOverride
    Two finsets, each three fins, as above
    Ir=0.007100144485489424, It=0.047289449862727435

testFalcon9HeavyComponentMassOverride
    Two finsets, each three fins, as above
    Ir=0.026027963480146098, It=0.35928666329363634
2020-06-29 15:02:34 -06:00
JoePfeiffer
fc393d499e [Fixes 679]
Remove extra multiplication by finCount in FinSet:getLongitudinalUnitInertia() and FinSet:getRotationalUnitInertia()

Restore check for single fin before transfering to center of fin set in FinSet:getRotationalUnitInertia()
2020-06-24 15:48:44 -06:00
Danylo
ce2d29cee0 Enhanced the javadoc of StringUtil's method and added a test.
I added parameter and return value desriptions for the method
StringUtil.isEmpty(String s).
Also, I added a test class StringUtilTest to test this method
(this method didn't have a test before).
2020-06-24 11:09:54 +03:00
Daniel Williams
43d6779e12
Merge pull request #658 from wolsen/snapcraft
Add snapcraft information for building snaps
2020-06-23 21:37:28 -04:00
Daniel_M_Williams
e1389f674a [fixes #681] Fires an change event if the motor-mount is {dis|en}abled on an InnerTube 2020-06-13 19:51:37 -07:00
Billy Olsen
3b16a68fb3 Use xdg-open on Linux Snaps to open PDFs for printing/previews
The Desktop.open() method does not work within a Snap confined
application because it uses gnome apis which are restricted or
only defined within the snap itself. The confined snaps allow
for xdg-open to open the default application to handle opening
the specified mime-type (application/pdf) for print previews and
printing.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-06-13 14:43:14 -07:00
Daniel Williams
16300941c7
Merge pull request #665 from wolsen/add-print-progress-dialog
[Fixes 637] Update print dialog to allow simulation control
2020-05-24 13:46:33 -04:00
Billy Olsen
b673a591f2 Update print dialog to allow simulation control
Updates the print dialog to allow for simulations to be re-run
or not. Selecting the "Update simulation data" checkbox will
re-run any out of date simulations prior to generating the
design report.

Fixes #637

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-05-23 15:41:44 -07:00
Daniel_M_Williams
530744d4cc [fix][simulation] Adds 2 warnings about fins on Phantom-Bodies 2020-05-22 16:17:26 -04:00
JoePfeiffer
bd866cec52 Create SimulationOptions.toString() method for debugging ease 2020-05-18 21:21:18 -06:00
Daniel_M_Williams
462a65bba3 [fix] SymmetricComponent.getNextSymmetricComponent() now handles PodSets 2020-05-16 11:31:16 -04:00
Daniel_M_Williams
ce6a6fa2e3 [fixes #666] Find SymmetricComponent.PreviousSymmetricComponent now handles PodSets correctly. 2020-05-16 11:26:27 -04:00
Daniel_M_Williams
e400c8aeac [fix] fixed typo in documentation 2020-05-15 19:55:54 -04:00
Joe Pfeiffer
4eab059b1b
Merge pull request #661 from teyrana/fix-spelling
[fix][i10n] Adjusts Labels for add-component buttons: Stage, Booster, Pods
2020-05-10 19:57:38 -06:00
Daniel_M_Williams
3f0a5b1780 [fix] Fin tabs are now more resistant to non-physical / error states 2020-05-10 18:38:41 -07:00
Daniel_M_Williams
7886712321 [fix] Fins now render with tabs 2020-05-10 18:38:41 -07:00
Daniel_M_Williams
dd277b3702 [fix][i10n] Adjusts Labels for multiple add-component-buttons 2020-05-09 18:39:36 -04:00
Daniel Williams
7fd14ac14b
Merge pull request #636 from wolsen/update-icons
Update icons for Tube Fins and Rail Buttons
2020-05-09 10:27:41 -04:00
Billy Olsen
680f6d8e64 Update rail button and tube fin icons for transparency
Update the transparency of the exported icons so there isn't a white
background clashing with the button color. Additionally, the tube fin
and rail button small icons were updated to be more in line with other
icons.

The tube fin is bigger and has the body tube showing like other
fin small icons.

The rail button works better in a side profile rather
than an offset profile.

Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
2020-05-08 20:51:28 -07:00
Daniel Williams
90173c38a2
Merge pull request #657 from JoePfeiffer/fix-654
Pin CP to axis (Fix 654)
2020-05-08 11:02:16 -04:00
Daniel Williams
5e264c8604
Merge pull request #649 from teyrana/641-fix-cg
[fixes #641] MassCalculator now accounts for rotations in the tree
2020-05-07 18:32:29 -04:00
Daniel Williams
83ce19cac4
Merge pull request #647 from teyrana/645-fix-auto-radius
[Fixes #645] fix auto radius calculation on Symmetric Components
2020-05-07 18:31:48 -04:00
Daniel_M_Williams
61b6fc107f [fix] fixes MIN_MASS check in MassCalculator 2020-05-07 18:09:53 -04:00
JoePfeiffer
f0e5902e00 Pin CP to axis when calculating in BarrowmanCalculator.calculateNonAxialForces()
It turns out that the assumption of radial symmetry is absolutely pervasive in our CP calculations.  Looking at FinSetCalc.calculateNonAxialForces(), we don't actually compute the CP of a fin -- we calculate its X value, and pin it to Y=Z=0.

The only exception to this is in BarrowmanCalculator.calculateNonAxialForces(), where the pinning only takes place if there are three or more fins in a FinSet.  If we remove the test for number of fins in the FinSet, we are in essence making the assumption that there are more fins *somewhere* which will end up being radially symmetric.
2020-05-06 16:57:04 -06:00
JoePfeiffer
73dd6b7e7a Dead code. Method's only occurrence in the source tree is this definition. 2020-05-06 16:12:47 -06:00
Daniel_M_Williams
0dc259ab4e [fix] Changed MassCalculator to compare 'MIN_MASS < ', instead of '0==' 2020-05-06 15:38:54 -04:00
Daniel_M_Williams
cce900d408 [fix] MassCalculator now accounts for rotation in Component Assembly Instance Trees 2020-05-06 15:32:19 -04:00
JoePfeiffer
2d9239fe5b When determining worst-case CP, only consider cases where the CP's weight is non-zero 2020-05-05 10:46:31 -06:00
Daniel_M_Williams
d8a8c14449 [fix] get{Next|Prev}SymmetricComponent now searches across stages 2020-05-03 15:02:19 -04:00
Daniel_M_Williams
0c47f2eba3 [fix] adjusted RocketTest unit tests to match auto-radius across stages. 2020-05-03 15:01:12 -04:00
Daniel_M_Williams
5bea957e50 [fix][doc] fixes comments in BarrowmanCalculator.java 2020-05-02 14:28:30 -04:00
Daniel_M_Williams
bbef167bbc [fix] fixes instancing on RocketComponent.toDebugTree 2020-05-02 13:38:47 -04:00
Daniel_M_Williams
bb3cdf2ce8 [refactor] renamed variables in TransitionTest to reflect their containing component type 2020-05-02 13:38:46 -04:00
Daniel_M_Williams
e7ceafe31c [fix] fixed resultant test issues 2020-05-02 13:38:46 -04:00
Daniel_M_Williams
3e3b5dc655 [fix] SymmetricComponent.get{Next|Prev}SymmetricComponent simply retrieves next symmetric *sibling*. 2020-05-02 13:38:46 -04:00