From e4bbd098899c659774b2c829f3fc5a3f56cdf427 Mon Sep 17 00:00:00 2001 From: Billy Olsen Date: Wed, 11 Nov 2020 15:37:47 -0700 Subject: [PATCH] Only draw carets in 3d when length > 0 Only set the CG and CP for the 3D renderings when the length is greater than 0. This makes the 3D rendering behavior consistent with the 2D side view Fixes #776 Signed-off-by: Billy Olsen --- .../sf/openrocket/gui/scalefigure/RocketPanel.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java index ab40cb422..a180662e1 100644 --- a/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java +++ b/swing/src/net/sf/openrocket/gui/scalefigure/RocketPanel.java @@ -616,9 +616,6 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change cgy = cg.y * Math.cos(rotation) + cg.z*Math.sin(rotation); } - figure3d.setCG(cg); - figure3d.setCP(cp); - double length = curConfig.getLength(); double diameter = Double.NaN; @@ -640,6 +637,14 @@ public class RocketPanel extends JPanel implements TreeSelectionListener, Change extraText.setMassWithoutMotors( emptyInfo.getMass() ); extraText.setWarnings(warnings); + if (length > 0) { + figure3d.setCG(cg); + figure3d.setCP(cp); + } else { + figure3d.setCG(new Coordinate(Double.NaN, Double.NaN)); + figure3d.setCP(new Coordinate(Double.NaN, Double.NaN)); + } + if (figure.getType() == RocketPanel.VIEW_TYPE.SideView && length > 0) { extraCP.setPosition(cpx, cpy); extraCG.setPosition(cgx, cgy);