]> git.gag.com Git - debian/openrocket/blobdiff - src/net/sf/openrocket/rocketcomponent/LaunchLug.java
Component scaling support
[debian/openrocket] / src / net / sf / openrocket / rocketcomponent / LaunchLug.java
index 6e3f7b39d48331697454855f9ce1adbed5695a3c..5614e07710c1cd0edfa1ed07818ce9e9684b181d 100644 (file)
@@ -3,11 +3,16 @@ package net.sf.openrocket.rocketcomponent;
 import java.util.ArrayList;
 import java.util.Collection;
 
+import net.sf.openrocket.l10n.Translator;
+import net.sf.openrocket.startup.Application;
 import net.sf.openrocket.util.Coordinate;
 import net.sf.openrocket.util.MathUtil;
 
 
-public class LaunchLug extends ExternalComponent {
+
+public class LaunchLug extends ExternalComponent implements Coaxial {
+       
+       private static final Translator trans = Application.getTranslator();
        
        private double radius;
        private double thickness;
@@ -27,11 +32,13 @@ public class LaunchLug extends ExternalComponent {
        }
        
        
-       public double getRadius() {
+       @Override
+       public double getOuterRadius() {
                return radius;
        }
        
-       public void setRadius(double radius) {
+       @Override
+       public void setOuterRadius(double radius) {
                if (MathUtil.equals(this.radius, radius))
                        return;
                this.radius = radius;
@@ -39,14 +46,17 @@ public class LaunchLug extends ExternalComponent {
                fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE);
        }
        
+       @Override
        public double getInnerRadius() {
                return radius - thickness;
        }
        
+       @Override
        public void setInnerRadius(double innerRadius) {
-               setRadius(innerRadius + thickness);
+               setOuterRadius(innerRadius + thickness);
        }
        
+       @Override
        public double getThickness() {
                return thickness;
        }
@@ -115,7 +125,7 @@ public class LaunchLug extends ExternalComponent {
        public void componentChanged(ComponentChangeEvent e) {
                super.componentChanged(e);
                
-               /* 
+               /*
                 * shiftY and shiftZ must be computed here since calculating them
                 * in shiftCoordinates() would cause an infinite loop due to .toRelative
                 */
@@ -168,19 +178,20 @@ public class LaunchLug extends ExternalComponent {
        
        @Override
        public String getComponentName() {
-               return "Launch lug";
+               //// Launch lug
+               return trans.get("LaunchLug.Launchlug");
        }
        
        @Override
-       public double getLongitudalUnitInertia() {
+       public double getLongitudinalUnitInertia() {
                // 1/12 * (3 * (r1^2 + r2^2) + h^2)
-               return (3 * (MathUtil.pow2(getInnerRadius())) + MathUtil.pow2(getRadius()) + MathUtil.pow2(getLength())) / 12;
+               return (3 * (MathUtil.pow2(getInnerRadius())) + MathUtil.pow2(getOuterRadius()) + MathUtil.pow2(getLength())) / 12;
        }
        
        @Override
        public double getRotationalUnitInertia() {
                // 1/2 * (r1^2 + r2^2)
-               return (MathUtil.pow2(getInnerRadius()) + MathUtil.pow2(getRadius())) / 2;
+               return (MathUtil.pow2(getInnerRadius()) + MathUtil.pow2(getOuterRadius())) / 2;
        }
        
        @Override