When no components are added, a rocket is showing -INFINITY for the
length. This is because the special case for length 0 is checking for
active stages, instead check the rocketBounds.isEmpty() to see if any
bounds have been added.
Fixes#714
Signed-off-by: Billy Olsen <billy.olsen@gmail.com>
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>
Increase the min count for IntegerModel for Pods/Booster config dialog.
The value can be overridden manually by hand, so this just allows the
user to scroll to it with the buttons.
Fixes#702
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>