- * Mince many components do not support setting the relative position. A component that does support - * it should override this with a public method that simply calls this - * supermethod AND fire a suitable ComponentChangeEvent. - * - * @deprecated name is ambiguous in three-dimensional space: value may refer to any of the three dimensions. Please use 'setAxialOffset' instead. - * @param value the position value of the component. - */ - @Deprecated - public void setPositionValue(double value) { - // if (MathUtil.equals(this.position.x, value)) - // return; - // // checkState(); - // // this.position = new Coordinate(value, 0, 0); - setAxialOffset(value); - } - protected void setAfter(RocketComponent referenceComponent) { checkState(); @@ -1031,11 +1001,22 @@ public abstract class RocketComponent implements ChangeSource, Cloneable, Iterab this.position = new Coordinate(newAxialPosition, this.position.y, this.position.z); } + /** + * Set the position value of the component. The exact meaning of the value + * depends on the current relative positioning. + *
+ * Mince many components do not support setting the relative position. A component that does support + * it should override this with a public method that simply calls this + * supermethod AND fire a suitable ComponentChangeEvent. + * + * @param value the position value of the component. + */ public void setAxialOffset(double _value) { this.setAxialOffset(this.relativePosition, _value); this.fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE); } + protected void setAxialOffset(final Position positionMethod, final double newOffset) { checkState(); if ( this.isAfter()){ diff --git a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java index 6d51b30e2..b5cb2bc29 100644 --- a/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java +++ b/core/src/net/sf/openrocket/rocketcomponent/TubeFinSet.java @@ -227,13 +227,6 @@ public class TubeFinSet extends ExternalComponent { fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE); } - - @Override - public void setPositionValue(double value) { - super.setPositionValue(value); - fireComponentChangeEvent(ComponentChangeEvent.BOTH_CHANGE); - } - @Override public double getComponentVolume() { double or = getOuterRadius(); diff --git a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java index 90437a2d0..cb8bc78c8 100644 --- a/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java +++ b/core/src/net/sf/openrocket/simulation/listeners/example/DampingMoment.java @@ -97,7 +97,7 @@ public class DampingMoment extends AbstractSimulationListener { double CNa = entry.getValue().getCNa(); //? double Cp = entry.getValue().getCP().length(); - double z = comp.getPositionValue(); //? + double z = comp.getAxialOffset(); aerodynamicPart += CNa * Math.pow(z - Cp, 2); } diff --git a/core/src/net/sf/openrocket/util/TestRockets.java b/core/src/net/sf/openrocket/util/TestRockets.java index 8ef2316e2..b122ba421 100644 --- a/core/src/net/sf/openrocket/util/TestRockets.java +++ b/core/src/net/sf/openrocket/util/TestRockets.java @@ -380,7 +380,7 @@ public class TestRockets { if (c instanceof InternalComponent) { InternalComponent i = (InternalComponent) c; i.setRelativePosition((Position) randomEnum(Position.class)); - i.setPositionValue(rnd(0.3)); + i.setAxialOffset(rnd(0.3)); } } @@ -702,7 +702,7 @@ public class TestRockets { coupler.setThickness( bodyTubeThickness); coupler.setLength(0.03); coupler.setRelativePosition(Position.TOP); - coupler.setPositionValue(-1.5); + coupler.setAxialOffset(-1.5); boosterTube.addChild(coupler); int finCount = 3; @@ -713,14 +713,14 @@ public class TestRockets { finset = new TrapezoidFinSet(finCount, finRootChord, finTipChord, finSweep, finHeight); finset.setThickness( 0.0032); finset.setRelativePosition(Position.BOTTOM); - finset.setPositionValue(1); + finset.setAxialOffset(1); finset.setName("Booster Fins"); boosterTube.addChild(finset); // Motor mount InnerTube boosterMMT = new InnerTube(); boosterMMT.setName("Booster MMT"); - boosterMMT.setPositionValue(0.005); + boosterMMT.setAxialOffset(0.005); boosterMMT.setRelativePosition(Position.BOTTOM); boosterMMT.setOuterRadius(0.019 / 2); boosterMMT.setInnerRadius(0.018 / 2); @@ -835,7 +835,7 @@ public class TestRockets { mcomp = new MassComponent(0.2, 0.03, 0.045 + 0.060); mcomp.setRelativePosition(Position.TOP); - mcomp.setPositionValue(0); + mcomp.setAxialOffset(0); // Stage construction rocket.addChild(stage); @@ -916,25 +916,25 @@ public class TestRockets { coupler.setMassOverridden(true); coupler.setOverrideMass(0.360); coupler.setRelativePosition(Position.BOTTOM); - coupler.setPositionValue(-0.14); + coupler.setAxialOffset(-0.14); tube1.addChild(coupler); // Parachute MassComponent mass = new MassComponent(0.05, 0.05, 0.280); mass.setRelativePosition(Position.TOP); - mass.setPositionValue(0.2); + mass.setAxialOffset(0.2); tube1.addChild(mass); // Cord mass = new MassComponent(0.05, 0.05, 0.125); mass.setRelativePosition(Position.TOP); - mass.setPositionValue(0.2); + mass.setAxialOffset(0.2); tube1.addChild(mass); // Payload mass = new MassComponent(0.40, R, 1.500); mass.setRelativePosition(Position.TOP); - mass.setPositionValue(0.25); + mass.setAxialOffset(0.25); tube1.addChild(mass); auxfinset = new TrapezoidFinSet(); @@ -947,7 +947,7 @@ public class TestRockets { auxfinset.setThickness(0.008); auxfinset.setCrossSection(CrossSection.AIRFOIL); auxfinset.setRelativePosition(Position.TOP); - auxfinset.setPositionValue(0.28); + auxfinset.setAxialOffset(0.28); auxfinset.setBaseRotation(Math.PI / 2); tube1.addChild(auxfinset); @@ -955,7 +955,7 @@ public class TestRockets { coupler.setOuterRadiusAutomatic(true); coupler.setLength(0.28); coupler.setRelativePosition(Position.TOP); - coupler.setPositionValue(0.47); + coupler.setAxialOffset(0.47); coupler.setMassOverridden(true); coupler.setOverrideMass(0.360); tube2.addChild(coupler); @@ -963,7 +963,7 @@ public class TestRockets { // Parachute mass = new MassComponent(0.1, 0.05, 0.028); mass.setRelativePosition(Position.TOP); - mass.setPositionValue(0.14); + mass.setAxialOffset(0.14); tube2.addChild(mass); Bulkhead bulk = new Bulkhead(); @@ -971,13 +971,13 @@ public class TestRockets { bulk.setMassOverridden(true); bulk.setOverrideMass(0.050); bulk.setRelativePosition(Position.TOP); - bulk.setPositionValue(0.27); + bulk.setAxialOffset(0.27); tube2.addChild(bulk); // Chord mass = new MassComponent(0.1, 0.05, 0.125); mass.setRelativePosition(Position.TOP); - mass.setPositionValue(0.19); + mass.setAxialOffset(0.19); tube2.addChild(mass); InnerTube inner = new InnerTube(); @@ -995,7 +995,7 @@ public class TestRockets { center.setMassOverridden(true); center.setOverrideMass(0.038); center.setRelativePosition(Position.BOTTOM); - center.setPositionValue(0); + center.setAxialOffset(0); tube3.addChild(center); center = new CenteringRing(); @@ -1005,7 +1005,7 @@ public class TestRockets { center.setMassOverridden(true); center.setOverrideMass(0.038); center.setRelativePosition(Position.TOP); - center.setPositionValue(0.28); + center.setAxialOffset(0.28); tube3.addChild(center); center = new CenteringRing(); @@ -1015,7 +1015,7 @@ public class TestRockets { center.setMassOverridden(true); center.setOverrideMass(0.038); center.setRelativePosition(Position.TOP); - center.setPositionValue(0.83); + center.setAxialOffset(0.83); tube3.addChild(center); finset = new TrapezoidFinSet(); @@ -1025,7 +1025,7 @@ public class TestRockets { finset.setThickness(0.005); finset.setSweep(0.3); finset.setRelativePosition(Position.BOTTOM); - finset.setPositionValue(-0.03); + finset.setAxialOffset(-0.03); finset.setBaseRotation(Math.PI / 2); tube3.addChild(finset); @@ -1101,7 +1101,7 @@ public class TestRockets { Parachute upperChute= new Parachute(); upperChute.setName("Parachute"); upperChute.setRelativePosition(Position.MIDDLE); - upperChute.setPositionValue(0.0); + upperChute.setAxialOffset(0.0); upperChute.setDiameter(0.3); upperChute.setLineCount(6); upperChute.setLineLength(0.3); @@ -1111,7 +1111,7 @@ public class TestRockets { ShockCord cord = new ShockCord(); cord.setName("Shock Cord"); cord.setRelativePosition(Position.BOTTOM); - cord.setPositionValue(0.0); + cord.setAxialOffset(0.0); cord.setCordLength(0.4); upperStageBody.addChild( cord); } @@ -1146,7 +1146,7 @@ public class TestRockets { coreFins.setName("Core Fins"); coreFins.setFinCount(4); coreFins.setRelativePosition(Position.BOTTOM); - coreFins.setPositionValue(0.0); + coreFins.setAxialOffset(0.0); coreFins.setBaseRotation( Math.PI / 4); coreFins.setThickness(0.003); coreFins.setCrossSection(CrossSection.ROUNDED); diff --git a/core/test/net/sf/openrocket/file/rocksim/importt/ParachuteHandlerTest.java b/core/test/net/sf/openrocket/file/rocksim/importt/ParachuteHandlerTest.java index 431d33c95..40078c88f 100644 --- a/core/test/net/sf/openrocket/file/rocksim/importt/ParachuteHandlerTest.java +++ b/core/test/net/sf/openrocket/file/rocksim/importt/ParachuteHandlerTest.java @@ -3,6 +3,10 @@ */ package net.sf.openrocket.file.rocksim.importt; +import java.util.HashMap; + +import org.junit.Assert; + import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.file.rocksim.RocksimCommonConstants; import net.sf.openrocket.file.simplesax.PlainTextHandler; @@ -10,9 +14,6 @@ import net.sf.openrocket.material.Material; import net.sf.openrocket.rocketcomponent.BodyTube; import net.sf.openrocket.rocketcomponent.Parachute; import net.sf.openrocket.rocketcomponent.RocketComponent; -import org.junit.Assert; - -import java.util.HashMap; /** * ParachuteHandler Tester. @@ -153,12 +154,12 @@ public class ParachuteHandlerTest extends RocksimTestBase { handler.closeElement("LocationMode", attributes, "1", warnings); handler.endHandler("Parachute", attributes, null, warnings); Assert.assertEquals(RocketComponent.Position.ABSOLUTE, component.getRelativePosition()); - Assert.assertEquals(component.getPositionValue(), -10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); + Assert.assertEquals(component.getAxialOffset(), -10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); handler.closeElement("Xb", attributes, "-10", warnings); handler.closeElement("LocationMode", attributes, "2", warnings); handler.endHandler("Parachute", attributes, null, warnings); Assert.assertEquals(RocketComponent.Position.BOTTOM, component.getRelativePosition()); - Assert.assertEquals(component.getPositionValue(), 10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); + Assert.assertEquals(component.getAxialOffset(), 10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); } } diff --git a/core/test/net/sf/openrocket/file/rocksim/importt/RingHandlerTest.java b/core/test/net/sf/openrocket/file/rocksim/importt/RingHandlerTest.java index 8b06b848b..935d7da40 100644 --- a/core/test/net/sf/openrocket/file/rocksim/importt/RingHandlerTest.java +++ b/core/test/net/sf/openrocket/file/rocksim/importt/RingHandlerTest.java @@ -3,6 +3,11 @@ */ package net.sf.openrocket.file.rocksim.importt; +import java.util.HashMap; + +import org.junit.Assert; +import org.junit.Test; + import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.file.rocksim.RocksimCommonConstants; import net.sf.openrocket.file.simplesax.PlainTextHandler; @@ -14,10 +19,6 @@ import net.sf.openrocket.rocketcomponent.EngineBlock; import net.sf.openrocket.rocketcomponent.RingComponent; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.TubeCoupler; -import org.junit.Assert; -import org.junit.Test; - -import java.util.HashMap; /** * RingHandler Tester. @@ -108,7 +109,7 @@ public class RingHandlerTest extends RocksimTestBase { Assert.assertEquals(10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, child.getLength(), 0.001); Assert.assertEquals("Test Name", child.getName()); Assert.assertEquals(109.9/1000, child.getMass(), 0.001); - Assert.assertEquals(0, child.getPositionValue(), 0.0); + Assert.assertEquals(0, child.getAxialOffset(), 0.0); Assert.assertEquals(RocketComponent.Position.TOP, child.getRelativePosition()); Assert.assertTrue(child instanceof Bulkhead); @@ -144,7 +145,7 @@ public class RingHandlerTest extends RocksimTestBase { Assert.assertEquals(10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, child.getLength(), 0.001); Assert.assertEquals("Test Name", child.getName()); Assert.assertEquals(109.9/1000, child.getMass(), 0.001); - Assert.assertEquals(0, child.getPositionValue(), 0.0); + Assert.assertEquals(0, child.getAxialOffset(), 0.0); Assert.assertEquals(RocketComponent.Position.TOP, child.getRelativePosition()); } @@ -179,7 +180,7 @@ public class RingHandlerTest extends RocksimTestBase { Assert.assertEquals(10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, child.getLength(), 0.001); Assert.assertEquals("Test Name", child.getName()); Assert.assertEquals(109.9/1000, child.getMass(), 0.001); - Assert.assertEquals(0, child.getPositionValue(), 0.0); + Assert.assertEquals(0, child.getAxialOffset(), 0.0); Assert.assertEquals(RocketComponent.Position.TOP, child.getRelativePosition()); Assert.assertEquals(4d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, child.getCG().x, 0.000001); @@ -214,7 +215,7 @@ public class RingHandlerTest extends RocksimTestBase { Assert.assertEquals(10d / RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, child.getLength(), 0.001); Assert.assertEquals("Test Name", child.getName()); Assert.assertEquals(109.9/1000, child.getMass(), 0.001); - Assert.assertEquals(0, child.getPositionValue(), 0.0); + Assert.assertEquals(0, child.getAxialOffset(), 0.0); Assert.assertEquals(RocketComponent.Position.TOP, child.getRelativePosition()); Assert.assertTrue(child instanceof CenteringRing); } diff --git a/core/test/net/sf/openrocket/file/rocksim/importt/StreamerHandlerTest.java b/core/test/net/sf/openrocket/file/rocksim/importt/StreamerHandlerTest.java index d6370e29c..71307c2f7 100644 --- a/core/test/net/sf/openrocket/file/rocksim/importt/StreamerHandlerTest.java +++ b/core/test/net/sf/openrocket/file/rocksim/importt/StreamerHandlerTest.java @@ -3,6 +3,11 @@ */ package net.sf.openrocket.file.rocksim.importt; +import java.util.HashMap; + +import org.junit.Assert; +import org.junit.Test; + import net.sf.openrocket.aerodynamics.WarningSet; import net.sf.openrocket.file.rocksim.RocksimCommonConstants; import net.sf.openrocket.file.rocksim.RocksimDensityType; @@ -11,10 +16,6 @@ import net.sf.openrocket.material.Material; import net.sf.openrocket.rocketcomponent.BodyTube; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.Streamer; -import org.junit.Assert; -import org.junit.Test; - -import java.util.HashMap; /** * StreamerHandler Tester. @@ -149,13 +150,13 @@ public class StreamerHandlerTest extends RocksimTestBase { handler.closeElement("LocationMode", attributes, "1", warnings); handler.endHandler("Streamer", attributes, null, warnings); Assert.assertEquals(RocketComponent.Position.ABSOLUTE, component.getRelativePosition()); - Assert.assertEquals(component.getPositionValue(), -10d/ RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); + Assert.assertEquals(component.getAxialOffset(), -10d/ RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); handler.closeElement("Xb", attributes, "-10", warnings); handler.closeElement("LocationMode", attributes, "2", warnings); handler.endHandler("Streamer", attributes, null, warnings); Assert.assertEquals(RocketComponent.Position.BOTTOM, component.getRelativePosition()); - Assert.assertEquals(component.getPositionValue(), 10d/ RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); + Assert.assertEquals(component.getAxialOffset(), 10d/ RocksimCommonConstants.ROCKSIM_TO_OPENROCKET_LENGTH, 0.001); handler.closeElement("Thickness", attributes, "0.02", warnings); Assert.assertEquals(0.01848, handler.computeDensity(RocksimDensityType.ROCKSIM_BULK, 924d), 0.001); diff --git a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java index c160fb78f..5937870a8 100644 --- a/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java +++ b/core/test/net/sf/openrocket/masscalc/MassCalculatorTest.java @@ -47,9 +47,6 @@ public class MassCalculatorTest extends BaseTestCase { config.setAllStages(); rkt.setName("TestRocket."+Thread.currentThread().getStackTrace()[1].getMethodName()); -// String treeDump = rkt.toDebugTree(); -// System.err.println( treeDump); - // Validate Boosters MassCalculator mc = new MassCalculator(); // any config will do, beceause the rocket literally has no defined motors. diff --git a/core/test/net/sf/openrocket/masscalc/MassDataTest.java b/core/test/net/sf/openrocket/masscalc/MassDataTest.java index 0f96eda02..b106d309a 100644 --- a/core/test/net/sf/openrocket/masscalc/MassDataTest.java +++ b/core/test/net/sf/openrocket/masscalc/MassDataTest.java @@ -64,7 +64,6 @@ public class MassDataTest extends BaseTestCase { @Test public void testTwoPointGeneral() { - boolean debug=false; double m1 = 2.5; Coordinate r1 = new Coordinate(0,-40, -10, m1); double I1xx=28.7; @@ -81,20 +80,8 @@ public class MassDataTest extends BaseTestCase { MassData asbly3 = body1.add(body2); Coordinate cm3_expected = r1.average(r2); -// System.err.println(" @(1): "+ body1.toDebug()); -// System.err.println(" @(2): "+ body2.toDebug()); -// System.err.println(" @(3): "+ asbly3.toDebug()); -// System.err.println(" Center of Mass: (3) expected: "+ cm3_expected); assertEquals(" Center of Mass calculated incorrectly: ", cm3_expected, asbly3.getCM() ); - - - if(debug){ - System.err.println(" Body 1: "+ body1.toDebug() ); - System.err.println(" Body 2: "+ body2.toDebug() ); - System.err.println(" Body 3: "+ asbly3.toDebug() ); - } - - + // these are a bit of a hack, and depend upon all the bodies being along the y=0, z=0 line. Coordinate delta13 = asbly3.getCM().sub( r1); Coordinate delta23 = asbly3.getCM().sub( r2); @@ -152,10 +139,6 @@ public class MassDataTest extends BaseTestCase { MassData asbly4_indirect = asbly3.add(body5); Coordinate cm4_expected = r1.average(r2).average(r5); - //System.err.println(" Center of Mass: (3): "+ asbly3.toCMDebug() ); - //System.err.println(" MOI: (3): "+ asbly3.toIMDebug() ); - //System.err.println(" Center of Mass: indirect:"+ asbly4_indirect.getCM() ); - //System.err.println(" Center of Mass: (4) direct: "+ cm4_expected); assertEquals(" Center of Mass calculated incorrectly: ", cm4_expected, new Coordinate( 0, 7.233644859813085, 0, m1+m2+m5 ) ); // these are a bit of a hack, and depend upon all the bodies being along the y=0, z=0 line. @@ -166,21 +149,17 @@ public class MassDataTest extends BaseTestCase { double I14zz = I1t + m1*MathUtil.pow2( Math.abs(body1.getCM().y - y4) ); double I24zz = I2t + m2*MathUtil.pow2( Math.abs(body2.getCM().y - y4) ); -// System.err.println(String.format(" I24yy: %8g = %6g + %3g*%g", I24zz, I2t, m2, MathUtil.pow2( Math.abs(body2.getCM().y - y4)) )); -// System.err.println(String.format(" : delta y24: %8g = ||%g - %g||", Math.abs(body2.getCM().y - y4), body2.getCM().y, y4 )); double I54zz = I5t + m5*MathUtil.pow2( Math.abs(body5.getCM().y - y4) ); double I4xx = I14ax+I24ax+I54ax; double I4yy = I1t+I2t+I5t; double I4zz = I14zz+I24zz+I54zz; MassData asbly4_expected = new MassData( cm4_expected, I4xx, I4yy, I4zz); - //System.err.println(String.format(" Ixx: direct: %12g", I4xx )); + assertEquals("x-axis MOI don't match: ", asbly4_indirect.getIxx(), asbly4_expected.getIxx(), EPSILON*10); - - //System.err.println(String.format(" Iyy: direct: %12g", I4yy )); + assertEquals("y-axis MOI don't match: ", asbly4_indirect.getIyy(), asbly4_expected.getIyy(), EPSILON*10); - //System.err.println(String.format(" Izz: direct: %12g", I4zz)); assertEquals("z-axis MOI don't match: ", asbly4_indirect.getIzz(), asbly4_expected.getIzz(), EPSILON*10); } diff --git a/core/test/net/sf/openrocket/rocketcomponent/FinSetTest.java b/core/test/net/sf/openrocket/rocketcomponent/FinSetTest.java index b48760d06..a0595e9f7 100644 --- a/core/test/net/sf/openrocket/rocketcomponent/FinSetTest.java +++ b/core/test/net/sf/openrocket/rocketcomponent/FinSetTest.java @@ -234,7 +234,7 @@ public class FinSetTest extends BaseTestCase { fin.setOverrideCGX(0.012); fin.setOverrideMass(0.0123); fin.setOverrideSubcomponents(true); - fin.setPositionValue(0.1); + fin.setAxialOffset(0.1); fin.setRelativePosition(Position.ABSOLUTE); fin.setTabHeight(0.01); fin.setTabLength(0.02); diff --git a/core/test/net/sf/openrocket/rocketcomponent/ParallelStageTest.java b/core/test/net/sf/openrocket/rocketcomponent/ParallelStageTest.java index 211ac06f9..2f970728e 100644 --- a/core/test/net/sf/openrocket/rocketcomponent/ParallelStageTest.java +++ b/core/test/net/sf/openrocket/rocketcomponent/ParallelStageTest.java @@ -417,7 +417,7 @@ public class ParallelStageTest extends BaseTestCase { Coordinate resultantRelativePosition = booster.getOffset(); assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " Relative position: ", resultantRelativePosition.x, equalTo(expectedX)); - double resultantPositionValue = booster.getPositionValue(); + double resultantPositionValue = booster.getAxialOffset(); assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " PositionValue: ", resultantPositionValue, equalTo(targetX)); double resultantAxialPosition = booster.getAxialOffset(); assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " Relative position: ", resultantAxialPosition, equalTo(targetX)); @@ -450,7 +450,7 @@ public class ParallelStageTest extends BaseTestCase { Coordinate resultantRelativePosition = sustainer.getOffset(); assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " Sustainer Relative position: ", resultantRelativePosition.x, equalTo(expectedX)); double expectedPositionValue = 0; - double resultantPositionValue = sustainer.getPositionValue(); + double resultantPositionValue = sustainer.getAxialOffset(); assertThat(" 'setPositionValue()' failed: \n" + treeDump + " Sustainer Position Value: ", resultantPositionValue, equalTo(expectedPositionValue)); double expectedAxialOffset = 0; @@ -486,7 +486,7 @@ public class ParallelStageTest extends BaseTestCase { double resultantAxialOffset = booster.getAxialOffset(); assertThat(" 'getAxialPosition()' failed: \n" + treeDump + " Axial Offset: ", resultantAxialOffset, equalTo(targetOffset)); - double resultantPositionValue = booster.getPositionValue(); + double resultantPositionValue = booster.getAxialOffset(); assertThat(" 'setPositionValue()' failed: \n" + treeDump + " Position Value: ", resultantPositionValue, equalTo(targetOffset)); } @@ -513,7 +513,7 @@ public class ParallelStageTest extends BaseTestCase { Coordinate resultantAbsolutePosition = booster.getLocations()[0]; assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " Absolute position: ", resultantAbsolutePosition.x, equalTo(expectedAbsoluteX)); - double resultantPositionValue = booster.getPositionValue(); + double resultantPositionValue = booster.getAxialOffset(); assertThat(" 'setPositionValue()' failed: \n" + treeDump + " Position Value: ", resultantPositionValue, equalTo(targetOffset)); double resultantAxialOffset = booster.getAxialOffset(); @@ -542,7 +542,7 @@ public class ParallelStageTest extends BaseTestCase { Coordinate resultantAbsolutePosition = booster.getLocations()[0]; assertThat(" 'setAxialPosition(double)' failed: \n" + treeDump + " Absolute position: ", resultantAbsolutePosition.x, equalTo(expectedAbsoluteX)); - double resultantPositionValue = booster.getPositionValue(); + double resultantPositionValue = booster.getAxialOffset(); assertThat(" 'setPositionValue()' failed: \n" + treeDump + " Position Value: ", resultantPositionValue, equalTo(targetOffset)); double resultantAxialOffset = booster.getAxialOffset(); diff --git a/core/test/net/sf/openrocket/rocketcomponent/RocketTest.java b/core/test/net/sf/openrocket/rocketcomponent/RocketTest.java index 8807e7a5b..352e1159f 100644 --- a/core/test/net/sf/openrocket/rocketcomponent/RocketTest.java +++ b/core/test/net/sf/openrocket/rocketcomponent/RocketTest.java @@ -17,23 +17,21 @@ public class RocketTest extends BaseTestCase { @Test public void testCopyIndependence() { Rocket rkt1 = TestRockets.makeEstesAlphaIII(); - FlightConfiguration config1 = rkt1.getSelectedConfiguration(); - FlightConfigurationId fcid1 = config1.getId(); + FlightConfiguration config1 = new FlightConfiguration(rkt1, null); + rkt1.setFlightConfiguration( config1.getId(), config1); + rkt1.setSelectedConfiguration( config1.getId()); FlightConfiguration config2 = new FlightConfiguration(rkt1, null); rkt1.setFlightConfiguration( config2.getId(), config2); - FlightConfiguration config3 = new FlightConfiguration(rkt1, null); - rkt1.setFlightConfiguration( config3.getId(), config3); - //System.err.println("src: "+ rkt1.toDebugConfigs()); // vvvv test target vvvv Rocket rkt2 = rkt1.copyWithOriginalID(); // ^^^^ test target ^^^^ - //System.err.println("cpy: "+ rkt1.toDebugConfigs()); FlightConfiguration config4 = rkt2.getSelectedConfiguration(); FlightConfigurationId fcid4 = config4.getId(); - assertThat("fcids should match: ", fcid1.key, equalTo(fcid4.key)); - assertThat("Configurations should be different match: "+config1.toDebug()+"=?="+config4.toDebug(), config1.instanceNumber, not( config4.instanceNumber)); + + assertThat("fcids should match: ", config1.getId().key, equalTo(fcid4.key)); + assertThat("Configurations should be different: "+config1.toDebug()+"=?="+config4.toDebug(), config1.instanceNumber, not( config4.instanceNumber)); FlightConfiguration config5 = rkt2.getFlightConfiguration(config2.getId()); FlightConfigurationId fcid5 = config5.getId(); diff --git a/core/web/html/techdoc.pdf b/core/web/html/techdoc.pdf deleted file mode 100644 index 86a85a533..000000000 Binary files a/core/web/html/techdoc.pdf and /dev/null differ diff --git a/swing/src/net/sf/openrocket/gui/configdialog/EllipticalFinSetConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/EllipticalFinSetConfig.java index c4343676a..983f9229c 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/EllipticalFinSetConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/EllipticalFinSetConfig.java @@ -123,7 +123,7 @@ public class EllipticalFinSetConfig extends FinSetConfig { //// plus panel.add(new JLabel(trans.get("EllipticalFinSetCfg.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java index 8f23aa5f3..af0186cba 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/FreeformFinSetConfig.java @@ -24,6 +24,9 @@ import javax.swing.SwingConstants; import javax.swing.SwingUtilities; import javax.swing.table.AbstractTableModel; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + import net.miginfocom.swing.MigLayout; import net.sf.openrocket.document.OpenRocketDocument; import net.sf.openrocket.gui.SpinnerEditor; @@ -52,9 +55,6 @@ import net.sf.openrocket.startup.Application; import net.sf.openrocket.unit.UnitGroup; import net.sf.openrocket.util.Coordinate; -import org.slf4j.Logger; -import org.slf4j.LoggerFactory; - public class FreeformFinSetConfig extends FinSetConfig { private static final long serialVersionUID = 2504130276828826021L; private static final Logger log = LoggerFactory.getLogger(FreeformFinSetConfig.class); @@ -145,7 +145,7 @@ public class FreeformFinSetConfig extends FinSetConfig { //// plus panel.add(new JLabel(trans.get("FreeformFinSetCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java index a77e4e63a..0a25e0a33 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/InnerTubeConfig.java @@ -153,7 +153,7 @@ public class InnerTubeConfig extends RocketComponentConfig { panel.add(new JLabel(trans.get("ringcompcfg.plus")), "right"); //// PositionValue - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java index 0f9ec9bc0..5a334a5c8 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/LaunchLugConfig.java @@ -124,7 +124,7 @@ public class LaunchLugConfig extends RocketComponentConfig { //// plus panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/MassComponentConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/MassComponentConfig.java index b4e277192..23c5550d6 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/MassComponentConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/MassComponentConfig.java @@ -120,7 +120,7 @@ public class MassComponentConfig extends RocketComponentConfig { //// plus panel.add(new JLabel(trans.get("MassComponentCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java index c1228e4c5..1ec6a7ab1 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/ParachuteConfig.java @@ -151,7 +151,7 @@ public class ParachuteConfig extends RecoveryDeviceConfig { //// plus panel.add(new JLabel(trans.get("ParachuteCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/RailButtonConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/RailButtonConfig.java index f981e7eec..355355467 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/RailButtonConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/RailButtonConfig.java @@ -93,7 +93,7 @@ public class RailButtonConfig extends RocketComponentConfig { { //// plus final double parentLength = ((BodyTube)rbc.getParent()).getLength(); panel.add(new JLabel(trans.get("RailBtnCfg.lbl.Plus")), "right"); - DoubleModel offsetModel = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + DoubleModel offsetModel = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); JSpinner offsetSpinner = new JSpinner(offsetModel.getSpinnerModel()); offsetSpinner.setEditor(new SpinnerEditor(offsetSpinner)); panel.add(offsetSpinner, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/RingComponentConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/RingComponentConfig.java index df5267405..0a1268356 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/RingComponentConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/RingComponentConfig.java @@ -139,7 +139,7 @@ public class RingComponentConfig extends RocketComponentConfig { panel.add(new JLabel(trans.get("ringcompcfg.plus")), "right"); //// PositionValue - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java index 3fc5d6841..c65f02a8e 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/ShockCordConfig.java @@ -75,7 +75,7 @@ public class ShockCordConfig extends RocketComponentConfig { //// plus panel2.add(new JLabel(trans.get("ShockCordCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel2.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java index bb9aaf51d..17ec90b5d 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/StreamerConfig.java @@ -152,7 +152,7 @@ public class StreamerConfig extends RecoveryDeviceConfig { //// plus panel.add(new JLabel(trans.get("StreamerCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/TrapezoidFinSetConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/TrapezoidFinSetConfig.java index ac7f1d271..c328449f8 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/TrapezoidFinSetConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/TrapezoidFinSetConfig.java @@ -179,7 +179,7 @@ public class TrapezoidFinSetConfig extends FinSetConfig { //// plus panel.add(new JLabel(trans.get("TrapezoidFinSetCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java b/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java index 61e35c1e3..87b4b0cdb 100644 --- a/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java +++ b/swing/src/net/sf/openrocket/gui/configdialog/TubeFinSetConfig.java @@ -137,7 +137,7 @@ public class TubeFinSetConfig extends RocketComponentConfig { //// plus panel.add(new JLabel(trans.get("LaunchLugCfg.lbl.plus")), "right"); - m = new DoubleModel(component, "PositionValue", UnitGroup.UNITS_LENGTH); + m = new DoubleModel(component, "AxialOffset", UnitGroup.UNITS_LENGTH); spin = new JSpinner(m.getSpinnerModel()); spin.setEditor(new SpinnerEditor(spin)); panel.add(spin, "growx"); diff --git a/swing/test/net/sf/openrocket/gui/configdialog/FinSetConfigTest.java b/swing/test/net/sf/openrocket/gui/configdialog/FinSetConfigTest.java index 65edf71fe..87bf52953 100644 --- a/swing/test/net/sf/openrocket/gui/configdialog/FinSetConfigTest.java +++ b/swing/test/net/sf/openrocket/gui/configdialog/FinSetConfigTest.java @@ -4,16 +4,16 @@ import java.lang.reflect.Method; import java.util.ArrayList; import java.util.List; +import org.junit.Assert; +import org.junit.BeforeClass; +import org.junit.Test; + import net.sf.openrocket.gui.adaptors.DoubleModel; import net.sf.openrocket.rocketcomponent.BodyTube; import net.sf.openrocket.rocketcomponent.CenteringRing; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.util.BaseTestCase.BaseTestCase; -import org.junit.Assert; -import org.junit.BeforeClass; -import org.junit.Test; - public class FinSetConfigTest extends BaseTestCase { static Method method; @@ -56,11 +56,11 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setLength(0.004); ring1.setRelativePosition(RocketComponent.Position.TOP); - ring1.setPositionValue(0.43); + ring1.setAxialOffset(0.43); CenteringRing ring2 = new CenteringRing(); ring2.setLength(0.004); ring2.setRelativePosition(RocketComponent.Position.TOP); - ring2.setPositionValue(0.45); + ring2.setAxialOffset(0.45); rings.add(ring1); rings.add(ring2); parent.addChild(ring1); @@ -82,7 +82,7 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setLength(0.004); ring1.setRelativePosition(RocketComponent.Position.TOP); - ring1.setPositionValue(0.43); + ring1.setAxialOffset(0.43); rings.add(ring1); RocketComponent parent = new BodyTube(); @@ -103,11 +103,11 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.TOP); ring1.setLength(0.004); - ring1.setPositionValue(0.43); + ring1.setAxialOffset(0.43); CenteringRing ring2 = new CenteringRing(); ring2.setRelativePosition(RocketComponent.Position.TOP); ring2.setLength(0.004); - ring2.setPositionValue(0.45); + ring2.setAxialOffset(0.45); rings.add(ring1); rings.add(ring2); @@ -130,11 +130,11 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.TOP); ring1.setLength(0.004); - ring1.setPositionValue(0.43); + ring1.setAxialOffset(0.43); CenteringRing ring2 = new CenteringRing(); ring2.setRelativePosition(RocketComponent.Position.TOP); ring2.setLength(0.004); - ring2.setPositionValue(0.48); + ring2.setAxialOffset(0.48); rings.add(ring1); rings.add(ring2); @@ -155,11 +155,11 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.TOP); ring1.setLength(0.004); - ring1.setPositionValue(0.4701); + ring1.setAxialOffset(0.4701); CenteringRing ring2 = new CenteringRing(); ring2.setLength(0.004); ring2.setRelativePosition(RocketComponent.Position.TOP); - ring2.setPositionValue(0.48); + ring2.setAxialOffset(0.48); rings.add(ring1); rings.add(ring2); RocketComponent parent = new BodyTube(1.0d, 0.1d); @@ -181,12 +181,12 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.TOP); ring1.setLength(0.004); - ring1.setPositionValue(0.4701); + ring1.setAxialOffset(0.4701); parent.addChild(ring1); CenteringRing ring2 = new CenteringRing(); ring2.setLength(0.004); ring2.setRelativePosition(RocketComponent.Position.TOP); - ring2.setPositionValue(0.4750); + ring2.setAxialOffset(0.4750); parent.addChild(ring2); rings.add(ring1); rings.add(ring2); @@ -207,11 +207,11 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.TOP); ring1.setLength(0.004); - ring1.setPositionValue(0.48); + ring1.setAxialOffset(0.48); CenteringRing ring2 = new CenteringRing(); ring2.setRelativePosition(RocketComponent.Position.TOP); ring2.setLength(0.004); - ring2.setPositionValue(0.49); + ring2.setAxialOffset(0.49); rings.add(ring1); rings.add(ring2); RocketComponent parent = new BodyTube(1.0d, 0.1d); @@ -233,20 +233,20 @@ public class FinSetConfigTest extends BaseTestCase { CenteringRing ring1 = new CenteringRing(); ring1.setRelativePosition(RocketComponent.Position.ABSOLUTE); ring1.setLength(0.004); - ring1.setPositionValue(0.47); + ring1.setAxialOffset(0.47); CenteringRing ring2 = new CenteringRing(); ring2.setRelativePosition(RocketComponent.Position.ABSOLUTE); ring2.setLength(0.004); - ring2.setPositionValue(0.4702); + ring2.setAxialOffset(0.4702); CenteringRing ring3 = new CenteringRing(); ring3.setRelativePosition(RocketComponent.Position.ABSOLUTE); ring3.setLength(0.004); - ring3.setPositionValue(0.4770); + ring3.setAxialOffset(0.4770); rings.add(ring1); rings.add(ring2); rings.add(ring3); BodyTube parent = new BodyTube(1.0d, 0.1d); - parent.setPositionValue(0); + parent.setAxialOffset(0); parent.addChild(ring1); parent.addChild(ring2); parent.addChild(ring3);