From 5436cd1560b6083f964467c0604734cc93f7d6e5 Mon Sep 17 00:00:00 2001 From: bkuker Date: Fri, 11 Jan 2013 19:15:14 -0500 Subject: [PATCH] Put Motor Appearances into the DefaultAppearance class. DefaultAppearance is quite disorganized at the moment, but this at least hides it all in one place --- .../defaults/DefaultAppearance.java | 27 +++++++-- .../appearance/defaults/MotorAppearance.java | 55 ------------------- .../gui/figure3d/RealisticRenderer.java | 3 +- 3 files changed, 24 insertions(+), 61 deletions(-) delete mode 100644 core/src/net/sf/openrocket/appearance/defaults/MotorAppearance.java diff --git a/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java b/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java index 424265f49..acb74b5d9 100644 --- a/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java +++ b/core/src/net/sf/openrocket/appearance/defaults/DefaultAppearance.java @@ -5,6 +5,8 @@ import java.util.HashMap; import net.sf.openrocket.appearance.Appearance; import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.appearance.Decal.EdgeMode; +import net.sf.openrocket.motor.Motor; +import net.sf.openrocket.motor.ThrustCurveMotor; import net.sf.openrocket.rocketcomponent.BodyTube; import net.sf.openrocket.rocketcomponent.EngineBlock; import net.sf.openrocket.rocketcomponent.FinSet; @@ -47,20 +49,24 @@ public class DefaultAppearance { private static Appearance BALSA = simple("/datafiles/textures/balsa.png"); private static Appearance WOOD = simple("/datafiles/textures/wood.png"); + @SuppressWarnings("unused") private static Appearance CARDBOARD = simple("/datafiles/textures/cardboard.png"); private static Appearance HARDBOARD = simple("/datafiles/textures/hardboard.png"); private static Appearance WADDING = simple("/datafiles/textures/wadding.png"); private static Appearance CHUTE = simple("/datafiles/textures/chute.png"); - public static final Appearance ESTES_BT = simpleAlpha(new Color(212, 185, 145), .3f, "/datafiles/textures/spiral-wound-alpha.png"); - public static final Appearance ESTES_IT = simpleAlpha(new Color(168, 146, 116), .1f, "/datafiles/textures/spiral-wound-alpha.png"); - public static final Appearance WHITE_BT = simpleAlpha(new Color(240, 240, 240), .3f, "/datafiles/textures/spiral-wound-alpha.png"); + private static final Appearance ESTES_BT = simpleAlpha(new Color(212, 185, 145), .3f, "/datafiles/textures/spiral-wound-alpha.png"); + private static final Appearance ESTES_IT = simpleAlpha(new Color(168, 146, 116), .1f, "/datafiles/textures/spiral-wound-alpha.png"); + private static final Appearance WHITE_BT = simpleAlpha(new Color(240, 240, 240), .3f, "/datafiles/textures/spiral-wound-alpha.png"); + private static Appearance ESTES_MOTOR = simple("/datafiles/textures/motors/estes.png"); + private static Appearance AEROTECH_MOTOR = simple("/datafiles/textures/motors/aerotech.png"); + private static Appearance REUSABLE_MOTOR = simpleAlpha(new Color(195, 60, 50), .6f, "/datafiles/textures/motors/reusable.png"); private static HashMap plastics = new HashMap(); - public static Appearance getPlastic(Color c) { + private static Appearance getPlastic(Color c) { if (!plastics.containsKey(c)) { plastics.put(c, new Appearance(c, .3)); } @@ -89,4 +95,17 @@ public class DefaultAppearance { return Appearance.MISSING; } + + public static Appearance getDefaultAppearance(Motor m) { + if (m instanceof ThrustCurveMotor) { + ThrustCurveMotor tcm = (ThrustCurveMotor) m; + if ("Estes".equals(tcm.getManufacturer().getSimpleName())) { + return ESTES_MOTOR; + } + if ("AeroTech".equals(tcm.getManufacturer().getSimpleName())) { + return AEROTECH_MOTOR; + } + } + return REUSABLE_MOTOR; + } } diff --git a/core/src/net/sf/openrocket/appearance/defaults/MotorAppearance.java b/core/src/net/sf/openrocket/appearance/defaults/MotorAppearance.java deleted file mode 100644 index 268980e0f..000000000 --- a/core/src/net/sf/openrocket/appearance/defaults/MotorAppearance.java +++ /dev/null @@ -1,55 +0,0 @@ -package net.sf.openrocket.appearance.defaults; - -import net.sf.openrocket.appearance.Appearance; -import net.sf.openrocket.appearance.Decal; -import net.sf.openrocket.appearance.Decal.EdgeMode; -import net.sf.openrocket.motor.Motor; -import net.sf.openrocket.motor.ThrustCurveMotor; -import net.sf.openrocket.util.Color; -import net.sf.openrocket.util.Coordinate; - -public class MotorAppearance extends Appearance { - - - private static MotorAppearance ESTES = new MotorAppearance("/datafiles/textures/motors/estes.png"); - private static MotorAppearance AEROTECH = new MotorAppearance("/datafiles/textures/motors/aerotech.png"); - private static MotorAppearance REUSABLE = new MotorAppearance("/datafiles/textures/motors/reusable.png", new Color(195, 60, 50), .6); - - public static Appearance getAppearance(Motor m) { - if (m instanceof ThrustCurveMotor) { - ThrustCurveMotor tcm = (ThrustCurveMotor) m; - if ("Estes".equals(tcm.getManufacturer().getSimpleName())) { - return ESTES; - } - if ("AeroTech".equals(tcm.getManufacturer().getSimpleName())) { - return AEROTECH; - } - } - return REUSABLE; - } - - protected MotorAppearance(final String resource) { - super( - new Color(0, 0, 0), - .1, - new Decal( - new Coordinate(0, 0), - new Coordinate(0, 0), - new Coordinate(1, 1), - 0, - new ResourceDecalImage(resource), EdgeMode.REPEAT)); - } - - protected MotorAppearance(final String resource, Color c, double shine) { - super( - c, - shine, - new Decal( - new Coordinate(0, 0), - new Coordinate(0, 0), - new Coordinate(1, 1), - 0, - new ResourceDecalImage(resource), EdgeMode.REPEAT)); - } - -} diff --git a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java index 7f82db3c5..71b8494fb 100644 --- a/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java +++ b/core/src/net/sf/openrocket/gui/figure3d/RealisticRenderer.java @@ -15,7 +15,6 @@ import javax.media.opengl.fixedfunc.GLMatrixFunc; import net.sf.openrocket.appearance.Appearance; import net.sf.openrocket.appearance.Decal; import net.sf.openrocket.appearance.defaults.DefaultAppearance; -import net.sf.openrocket.appearance.defaults.MotorAppearance; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.motor.Motor; import net.sf.openrocket.rocketcomponent.RocketComponent; @@ -102,7 +101,7 @@ public class RealisticRenderer extends RocketRenderer { public void run() { cr.renderMotor(gl, c, motor); } - }, MotorAppearance.getAppearance(motor), 1); + }, DefaultAppearance.getDefaultAppearance(motor), 1); } @Override