From 5dd0912bd2a36b6c39074eb243a9fc57faad037c Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 9 Feb 2022 03:10:37 +0100 Subject: [PATCH 1/3] [fixes #1070] Add backward compatibility OR 15.03 --- .../openrocket/savers/RocketComponentSaver.java | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java index 176993f18..08e773fad 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java @@ -83,6 +83,10 @@ public class RocketComponentSaver { // no-op. Instance counts are set via named cluster configurations } else { emitInteger(elements, "instancecount", c.getInstanceCount()); + // TODO: delete this when no backward compatibility with OR 15.03 is needed anymore + if (c instanceof FinSet || c instanceof TubeFinSet) { + emitInteger(elements, "fincount", c.getInstanceCount()); + } } if (c instanceof LineInstanceable) { @@ -103,6 +107,13 @@ public class RocketComponentSaver { final String angleMethod = anglePos.getAngleMethod().name().toLowerCase(Locale.ENGLISH); final double angleOffset = anglePos.getAngleOffset()*180.0/Math.PI; elements.add("" + angleOffset + ""); + // TODO: delete this when no backward compatibility with OR 15.03 is needed anymore + if (c instanceof FinSet || c instanceof TubeFinSet) { + elements.add("" + angleOffset + ""); + } + else { + elements.add("" + angleOffset + ""); + } } // Save position unless "AFTER" @@ -110,6 +121,8 @@ public class RocketComponentSaver { // The type names are currently equivalent to the enum names except for case. String axialMethod = c.getAxialMethod().name().toLowerCase(Locale.ENGLISH); elements.add("" + c.getAxialOffset() + ""); + // TODO: delete this when no backward compatibility with OR 15.03 is needed anymore + elements.add("" + c.getAxialOffset() + ""); } // Overrides From 44ef37a612987da78c38892c952046b0b7898938 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Wed, 9 Feb 2022 15:19:50 +0100 Subject: [PATCH 2/3] [fixes #1070] Ignore RailButton for radialdirection --- .../openrocket/file/openrocket/savers/RocketComponentSaver.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java index 08e773fad..97dfd97eb 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/RocketComponentSaver.java @@ -111,7 +111,7 @@ public class RocketComponentSaver { if (c instanceof FinSet || c instanceof TubeFinSet) { elements.add("" + angleOffset + ""); } - else { + else if (!(c instanceof RailButton)) { elements.add("" + angleOffset + ""); } } From 042dc8ef5b0aa17f5804c6c00a69ff493eeb0ec2 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 10 Feb 2022 00:47:32 +0100 Subject: [PATCH 3/3] [fixes #1070] Backward comp for fintab position --- .../file/openrocket/savers/FinSetSaver.java | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/core/src/net/sf/openrocket/file/openrocket/savers/FinSetSaver.java b/core/src/net/sf/openrocket/file/openrocket/savers/FinSetSaver.java index ef6c25212..5da1cd877 100644 --- a/core/src/net/sf/openrocket/file/openrocket/savers/FinSetSaver.java +++ b/core/src/net/sf/openrocket/file/openrocket/savers/FinSetSaver.java @@ -3,6 +3,8 @@ package net.sf.openrocket.file.openrocket.savers; import java.util.List; import java.util.Locale; +import net.sf.openrocket.rocketcomponent.FinSet; +import net.sf.openrocket.rocketcomponent.position.AxialMethod; import net.sf.openrocket.util.MathUtil; public class FinSetSaver extends ExternalComponentSaver { @@ -28,6 +30,22 @@ public class FinSetSaver extends ExternalComponentSaver { elements.add("" + fins.getTabHeight() + ""); elements.add("" + fins.getTabLength() + ""); + // TODO: delete this when no backward compatibility with OR 15.03 is needed anymore + String offset = "center"; + double offsetVal = fins.getTabOffset(); + switch (fins.getTabOffsetMethod()) { + case TOP: + offset = "front"; + break; + case BOTTOM: + offset = "end"; + break; + case MIDDLE: + offset = "center"; + break; + } + elements.add("" + + offsetVal + ""); elements.add("" + fins.getTabOffset() + "");