Center the rocket within the side-view 2d renderings. This is similar to
how the side-view is rendered in 15.03 version.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Drop gcc as a build-dependency as LP#1883392 was fixed and delivered.
Additionally, change personal-files interfaces to be more explicit which
should allow for the snap store assertions which will possibly allow the
auto-connecting of the interfaces upon install for the OpenRocket app.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Ultimate cause is some very odd behavior from JViewPort.
This code is in effect, a workaround for that odd behavior. It IS therefore 2/3 ugly hack :(
Also, refined some of the zoom calculations to be more exact.
TubeFinSets cause rocket size within the panel to be a bit off. Add
the BoxBounded interface to provide a tight BoundingBox.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Changes to the TubeFinSet instanceable caused extra rotations of the
TubeFinSet around body tubes and podsets. Remove the extra rotation from
the 3D renderer.
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
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>
The TubeFinSetShapes were applying the supplied transform too many
times, resulting in the the shapes being offset off the viewing area.
The offset transform is already applied to the component instance
that is provided to the TubeFinSetShapes methods, so applying the
transform resulted in the offset being moved to the right.
This change removes the transform being applied to the component
locations when retrieved and only applies a linear transformation
to the component locations when applying the base rotational
transform. Using the linear transform avoids applying the offset
in addition to the rest of the transform.
The problem existed in both the side view and the back view, however
the back view was not as obvious due to the nature of the view. The
common code between both functions applying the transform is
refactored into a common location to reduce the amount of code.
Additionally, documentation was added explaining the transform process
that is being applied to the component locations for the final shapes.
Fixes#605
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
Modify code for getLongitudinalUnitInertia() and getRotationalUnitInertia() so similar functions have more similar code.
Add comments to clarify getLongitudinalUnitInertia() and getRotationalUnitInertia()
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