From 68c4330fa34b494d5c87069111338302d0e65172 Mon Sep 17 00:00:00 2001 From: JoePfeiffer Date: Sun, 24 Apr 2022 19:22:32 -0600 Subject: [PATCH] Create skeleton of Tube. For the moment, this is just enough to make it possible to use TubeCalc. --- .../openrocket/aerodynamics/barrowman/TubeCalc.java | 13 +++++++------ .../sf/openrocket/rocketcomponent/LaunchLug.java | 2 +- .../sf/openrocket/rocketcomponent/TubeFinSet.java | 2 +- 3 files changed, 9 insertions(+), 8 deletions(-) diff --git a/core/src/net/sf/openrocket/aerodynamics/barrowman/TubeCalc.java b/core/src/net/sf/openrocket/aerodynamics/barrowman/TubeCalc.java index 8595e1efb..08f391c6d 100644 --- a/core/src/net/sf/openrocket/aerodynamics/barrowman/TubeCalc.java +++ b/core/src/net/sf/openrocket/aerodynamics/barrowman/TubeCalc.java @@ -3,8 +3,8 @@ package net.sf.openrocket.aerodynamics.barrowman; import net.sf.openrocket.aerodynamics.AerodynamicForces; import net.sf.openrocket.aerodynamics.FlightConditions; import net.sf.openrocket.aerodynamics.WarningSet; -import net.sf.openrocket.rocketcomponent.LaunchLug; import net.sf.openrocket.rocketcomponent.RocketComponent; +import net.sf.openrocket.rocketcomponent.Tube; import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.Transformation; @@ -15,13 +15,14 @@ public abstract class TubeCalc extends RocketComponentCalc { public TubeCalc(RocketComponent component) { super(component); - - LaunchLug lug = (LaunchLug)component; - double ld = lug.getLength() / (2*lug.getOuterRadius()); + + Tube tube = (Tube)component; + + double ld = tube.getLength() / (2*tube.getOuterRadius()); CDmul = Math.max(1.3 - ld, 1); - refArea = Math.PI * MathUtil.pow2(lug.getOuterRadius()) - - Math.PI * MathUtil.pow2(lug.getInnerRadius()) * Math.max(1 - ld, 0); + refArea = Math.PI * MathUtil.pow2(tube.getOuterRadius()) - + Math.PI * MathUtil.pow2(tube.getInnerRadius()) * Math.max(1 - ld, 0); } } diff --git a/core/src/net/sf/openrocket/rocketcomponent/LaunchLug.java b/core/src/net/sf/openrocket/rocketcomponent/LaunchLug.java index 9541bb0cd..f6fa6f65b 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/LaunchLug.java +++ b/core/src/net/sf/openrocket/rocketcomponent/LaunchLug.java @@ -17,7 +17,7 @@ import net.sf.openrocket.util.MathUtil; import net.sf.openrocket.util.StateChangeListener; -public class LaunchLug extends ExternalComponent implements AnglePositionable, BoxBounded, Coaxial, LineInstanceable, InsideColorComponent { +public class LaunchLug extends Tube implements AnglePositionable, BoxBounded, LineInstanceable, InsideColorComponent { private static final Translator trans = Application.getTranslator(); diff --git a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java index 685198726..0cba415ce 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java @@ -17,7 +17,7 @@ import net.sf.openrocket.rocketcomponent.position.RadiusMethod; import net.sf.openrocket.startup.Application; import net.sf.openrocket.util.*; -public class TubeFinSet extends ExternalComponent implements AxialPositionable, BoxBounded, RingInstanceable, InsideColorComponent { +public class TubeFinSet extends Tube implements AxialPositionable, BoxBounded, RingInstanceable, InsideColorComponent { private static final Translator trans = Application.getTranslator(); private final static double DEFAULT_RADIUS = 0.025;