From 5df7f4f10db3a8e4b4bc9b58f4dce49f4a634898 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 18 Aug 2022 00:28:50 +0200 Subject: [PATCH] Include root points in fin tabs --- core/src/net/sf/openrocket/rocketcomponent/FinSet.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/FinSet.java b/core/src/net/sf/openrocket/rocketcomponent/FinSet.java index f96681335..630f53e7d 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/FinSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/FinSet.java @@ -963,8 +963,10 @@ public abstract class FinSet extends ExternalComponent implements AxialPositiona MathUtil.equals(getTabLength(), 0)){ return new Coordinate[]{}; } + + Coordinate[] rootPoints = getRootPoints(); - final int pointCount = 5; + final int pointCount = 5 + rootPoints.length; Coordinate[] points = new Coordinate[pointCount]; final Coordinate finFront = this.getFinFront(); @@ -987,7 +989,10 @@ public abstract class FinSet extends ExternalComponent implements AxialPositiona points[1] = new Coordinate(xTabFront, yTabBottom ); points[2] = new Coordinate(xTabTrail, yTabBottom ); points[3] = new Coordinate(xTabTrail, yTabTrail); - points[4] = new Coordinate(xTabFront, yTabFront); + for (int i = 0; i < rootPoints.length; i++) { + points[i + 4] = rootPoints[rootPoints.length - 1 -i]; + } + points[pointCount - 1] = new Coordinate(xTabFront, yTabFront); return points; }