From a514f6b598c3772e0db3501228c499db7458b160 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 4 Aug 2023 11:32:18 +0200 Subject: [PATCH 1/2] Add tooltip text to cluster configurations --- .../src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java | 1 + 1 file changed, 1 insertion(+) diff --git a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java index b0386fad3..c98e2c6c2 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java @@ -505,6 +505,7 @@ class ClusterSelectionPanel extends JPanel { setMaximumSize(new Dimension(BUTTON_SIZE, BUTTON_SIZE)); setBorder(BorderFactory.createBevelBorder(BevelBorder.LOWERED)); // setBorder(BorderFactory.createLineBorder(Color.BLACK, 1)); + setToolTipText(config.getXMLName()); component.addChangeListener(this); addMouseListener(this); } From 734677ee8f913c89bd8168e4b6a2bddd2ee670eb Mon Sep 17 00:00:00 2001 From: SiboVG Date: Fri, 4 Aug 2023 12:40:15 +0200 Subject: [PATCH 2/2] [#2283] Apply radial positioning to non-single cluster --- .../sf/openrocket/rocketcomponent/InnerTube.java | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java index e9477baf2..c42aec1b0 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java +++ b/core/src/net/sf/openrocket/rocketcomponent/InnerTube.java @@ -260,27 +260,21 @@ public class InnerTube extends ThicknessRingComponent implements AxialPositionab } public List getClusterPoints() { - List list = new ArrayList(getInstanceCount()); + List list = new ArrayList<>(getInstanceCount()); List points = cluster.getPoints(clusterRotation - getRadialDirection()); double separation = getClusterSeparation(); + double yOffset = this.radialPosition * Math.cos(this.radialDirection); + double zOffset = this.radialPosition * Math.sin(this.radialDirection); for (int i = 0; i < points.size() / 2; i++) { - list.add(new Coordinate(0, points.get(2 * i) * separation, points.get(2 * i + 1) * separation)); + list.add(new Coordinate(0, points.get(2 * i) * separation + yOffset, points.get(2 * i + 1) * separation + zOffset)); } return list; } @Override public Coordinate[] getInstanceOffsets(){ - - if ( 1 == getInstanceCount()) { - double yOffset = this.radialPosition * Math.cos(this.radialDirection); - double zOffset = this.radialPosition * Math.sin(this.radialDirection); - return new Coordinate[] { Coordinate.ZERO.add(0.0, yOffset, zOffset) }; - } - List points = getClusterPoints(); - - return points.toArray( new Coordinate[ points.size() ]); + return points.toArray(new Coordinate[0]); } // @Override