From c0516e875177c99cef1100b4c0fcbf84ae897ac0 Mon Sep 17 00:00:00 2001 From: SiboVG Date: Thu, 25 May 2023 20:36:13 +0200 Subject: [PATCH] [#2218] Apply outer/inner diameter preset to tube fin --- .../net/sf/openrocket/rocketcomponent/BodyTube.java | 2 +- .../sf/openrocket/rocketcomponent/TubeFinSet.java | 13 +++++++++++++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java b/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java index 5b42fdcda..5b737dae6 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java +++ b/core/src/net/sf/openrocket/rocketcomponent/BodyTube.java @@ -172,8 +172,8 @@ public class BodyTube extends SymmetricComponent implements BoxBounded, MotorMou @Override protected void loadFromPreset(ComponentPreset preset) { - this.autoRadius = false; if (preset.has(ComponentPreset.OUTER_DIAMETER)) { + this.autoRadius = false; double outerDiameter = preset.get(ComponentPreset.OUTER_DIAMETER); this.outerRadius = outerDiameter / 2.0; if (preset.has(ComponentPreset.INNER_DIAMETER)) { diff --git a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java index 992a8935a..b5823989c 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java @@ -518,6 +518,19 @@ public class TubeFinSet extends Tube implements AxialPositionable, BoxBounded, R } + @Override + protected void loadFromPreset(ComponentPreset preset) { + super.loadFromPreset(preset); + if (preset.has(ComponentPreset.OUTER_DIAMETER)) { + this.autoRadius = false; + double outerDiameter = preset.get(ComponentPreset.OUTER_DIAMETER); + this.outerRadius = outerDiameter / 2.0; + if (preset.has(ComponentPreset.INNER_DIAMETER)) { + double innerDiameter = preset.get(ComponentPreset.INNER_DIAMETER); + this.thickness = (outerDiameter - innerDiameter) / 2.0; + } + } + } @Override public InsideColorComponentHandler getInsideColorComponentHandler() {