diff --git a/ros3rag.placeA/src/main/jastadd/WorldModelA.jadd b/ros3rag.placeA/src/main/jastadd/WorldModelA.jadd index b9dd1eebab6bf09ba350bce028e8f6bac4349695..2f7fb2f5cfbc01f852a62d34d1d79e34c9896132 100644 --- a/ros3rag.placeA/src/main/jastadd/WorldModelA.jadd +++ b/ros3rag.placeA/src/main/jastadd/WorldModelA.jadd @@ -1,11 +1,3 @@ -aspect Resolving { - //--- resolveObjectOfInterest --- - inh ObjectOfInterest Robot.resolveObjectOfInterest(String name); - eq WorldModelA.getRobot().resolveObjectOfInterest(String name) { - return getScene().resolveObjectOfInterest(name); - } -} - aspect Glue { class WorldModelA implements de.tudresden.inf.st.ros3rag.common.SharedMainParts.WorldModelWrapper {} diff --git a/ros3rag.placeA/src/main/jastadd/WorldModelA.relast b/ros3rag.placeA/src/main/jastadd/WorldModelA.relast index 4089553a078bf8fb2d1cbdda036562f9ce309b68..1e84df6672b3287fbf244a7c0aede4de741aafdd 100644 --- a/ros3rag.placeA/src/main/jastadd/WorldModelA.relast +++ b/ros3rag.placeA/src/main/jastadd/WorldModelA.relast @@ -1,3 +1 @@ -WorldModelA ::= Robot [Scene] /LogicalScene/ ; - -Robot ::= <Name:String> ; +WorldModelA ::= [Scene] /LogicalScene/ ; diff --git a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/MainA.java b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/MainA.java index 157de87d3bbaed53de0fb47e66df021cc2ef3d02..195f2aac572ab7b80b6e321967b22668ba9ec365 100644 --- a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/MainA.java +++ b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/MainA.java @@ -1,11 +1,9 @@ package de.tudresden.inf.st.placeA; import de.tudresden.inf.st.placeA.ast.MqttHandler; -import de.tudresden.inf.st.placeA.ast.Robot; import de.tudresden.inf.st.placeA.ast.Scene; import de.tudresden.inf.st.placeA.ast.WorldModelA; import de.tudresden.inf.st.ros3rag.common.SharedMainParts; -import de.tudresden.inf.st.ros3rag.common.Util; import java.io.IOException; @@ -58,20 +56,14 @@ public class MainA extends SharedMainParts<MqttHandler, WorldModelA> { @Override protected de.tudresden.inf.st.ceti.Scene readSceneAndRobots() throws Exception { - /// Reading scene and robot + /// Reading scene de.tudresden.inf.st.ceti.Scene scene = readScene( UtilA.pathToDirectoryOfPlaceA().resolve(config.filenameInitialScene) ); Scene myScene = UtilA.convert(scene); model.setScene(myScene); - // if multiple robots are specified, then error message will be displayed - Util.extractRobotNames(scene).forEach(name -> { - if (model.getRobot() != null) { - logger.error("Robot already set. Overriding with newly found name."); - } - model.setRobot(new Robot().setName(name)); - }); + // no robots to be set return scene; } diff --git a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/SimpleMainA.java b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/SimpleMainA.java index de2074c5219b619765ce87ca40446bcac35f267a..7af840988b64136ed742c7f882c3b3aedb18ee6c 100644 --- a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/SimpleMainA.java +++ b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/SimpleMainA.java @@ -1,13 +1,11 @@ package de.tudresden.inf.st.placeA; -import de.tudresden.inf.st.ceti.Object; import de.tudresden.inf.st.placeA.ast.*; import org.apache.commons.math3.geometry.euclidean.threed.Rotation; import org.apache.commons.math3.geometry.euclidean.threed.Vector3D; import org.apache.logging.log4j.LogManager; import org.apache.logging.log4j.Logger; -import java.nio.file.Paths; import java.util.Scanner; import java.util.concurrent.TimeUnit; @@ -37,19 +35,6 @@ public class SimpleMainA { var model = new WorldModelA(); model.setScene(myScene); - // find robot (should be only one) - for (var obj : scene.getObjectsList()) { - if (obj.getType().equals(Object.Type.ARM)) { - if (model.getRobot() != null) { - logger.error("Found multiple robots in scene for place A!"); - } - model.setRobot(new Robot().setName(obj.getId())); - } - } - if (model.getRobot() == null) { - logger.error("Found no robots in scene for place A!"); - } - // send initial scene once // MqttHandler publisher = new MqttHandler().dontSendWelcomeMessage().setHost("localhost"); // publisher.publish("scene/init", scene.toByteArray()); @@ -66,11 +51,6 @@ public class SimpleMainA { private static void testBuildModelA() { WorldModelA model = new WorldModelA(); - // robot - Robot robot = new Robot(); - robot.setName("panda1"); - model.setRobot(robot); - // scene var scene = new Scene(); model.setScene(scene); diff --git a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java index fafa021fed70482ede4922a531724e386b8e1adc..405f67a4671bb47bea6b500d6eb0a13faecb12e7 100644 --- a/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java +++ b/ros3rag.placeA/src/main/java/de/tudresden/inf/st/placeA/UtilA.java @@ -44,9 +44,6 @@ public class UtilA { public static String getModelInfos(WorldModelA model, boolean detailed) { StringBuilder sb = new StringBuilder(); - sb.append("myRobot: ") - .append(model.getRobot().getName()) - .append("\n"); if (detailed) { // also include "normal" scene sb.append("myScene:"); diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect index d2a9fab1ffc9a1e03bed700abce9002545137088..9e3097a43e0b00e0ef5910cf510ce6d17c8d69db 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.connect +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.connect @@ -1,7 +1,6 @@ // --- receiving --- receive WorldModelB.MyScene using ParseScene, ConvertScene ; -receive WorldModelB.OtherScene1 ; -receive WorldModelB.OtherScene2 ; +receive indexed WorldModelB.OtherScene ; receive WorldModelB.TestingOtherScene ; receive Robot.CanReachObjectOfInterestWrapper using ParseReachability, ConvertReachability ; diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd index 119cccc15f630c7968c7370f628de6db60e0a847..518e868330601e5480c864db06f52a270a568d5c 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.jadd @@ -2,18 +2,6 @@ aspect Computation { //--- unspecifiedLocation --- syn nta LogicalDropOffLocation WorldModelB.unspecifiedLocation() = new LogicalDropOffLocation().setName("<unspecified>"); - //--- getOtherSceneList --- - syn JastAddList<LogicalScene> WorldModelB.getOtherSceneList() { - JastAddList<LogicalScene> result = new JastAddList<>(); - if (hasOtherScene1()) { - result.add(getOtherScene1()); - } - if (hasOtherScene2()) { - result.add(getOtherScene2()); - } - return result; - } - //--- mergedOtherScene --- syn nta LogicalScene WorldModelB.mergedOtherScene() { // return empty scene, if there are no other scenes (yet) diff --git a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast index f2bc3600e6bc36d75cadc98b8f6100cc8cdaa220..892583173c7298bcb71cabe47c851f4ab061b035 100644 --- a/ros3rag.placeB/src/main/jastadd/WorldModelB.relast +++ b/ros3rag.placeB/src/main/jastadd/WorldModelB.relast @@ -1,5 +1,4 @@ -WorldModelB ::= Robot* [MyScene:Scene] [OtherScene1:LogicalScene] [OtherScene2:LogicalScene] /OtherScene:LogicalScene*/ /NextOperation:Operation/ TestingOtherScene:LogicalScene* ; -// workaround with NTA OtherSceneList as receiving lists is not possible yet +WorldModelB ::= Robot* [MyScene:Scene] OtherScene:LogicalScene* /NextOperation:Operation/ TestingOtherScene:LogicalScene* ; Robot ::= <Name:String> CanReachObjectOfInterestWrapper ; diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java index 0c193b3e77021dd6d6bcff534443a1d197d269d3..930b0480187c00b0228164e97e392af1ceca118a 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/MainB.java @@ -82,7 +82,7 @@ public class MainB extends SharedMainParts<MqttHandler, WorldModelB> { @Override protected void connectEndpoints() throws IOException { model.connectMyScene(mqttUri(TOPIC_MY_SCENE_UPDATE_FROM_ROS, config)); - model.connectOtherScene1(mqttUri(TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A, config)); + model.connectOtherScene(mqttUri(TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A, config)); model.connectNextOperation(mqttUri(TOPIC_COMMAND, config), false); } diff --git a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java index b8023e726595aff10197fecbb8d07bc1850b3e5e..cdf0af6afef4df5e78b9e6765e5d214be7c90eed 100644 --- a/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java +++ b/ros3rag.placeB/src/main/java/de/tudresden/inf/st/placeB/SimpleMainB.java @@ -188,7 +188,7 @@ public class SimpleMainB { /// Connect endpoints model.connectMyScene(mqttUri("TOPIC_MY_SCENE_UPDATE_FROM_ROS", config)); - model.connectOtherScene1(mqttUri("TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A", config)); + model.connectOtherScene(mqttUri("TOPIC_OTHER_SCENE_UPDATE_FROM_PLACE_A", config)); model.connectNextOperation(mqttUri("TOPIC_COMMANDS", config), false); System.out.println("before"); @@ -264,7 +264,7 @@ public class SimpleMainB { LogicalDropOffLocation otherGamma = new LogicalDropOffLocation().setName("placeGamma"); otherGamma.addContainedObject(otherObj1); otherScene.addLogicalDropOffLocation(otherGamma); - model.setOtherScene1(otherScene); + model.addOtherScene(otherScene); // printing and testing printModelInfos(model); diff --git a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestComputeOperations.java b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestComputeOperations.java index fe53722780e481e0c6c086de7e4c4374205cea1d..8912c0136f54c72b9c58b540b46fb45dba589891 100644 --- a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestComputeOperations.java +++ b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestComputeOperations.java @@ -60,9 +60,11 @@ public class TestComputeOperations { LogicalDropOffLocation red = logicalScene.resolveLogicalObjectOfInterest("red").asLogicalDropOffLocation(); LogicalDropOffLocation blue = logicalScene.resolveLogicalObjectOfInterest("blue").asLogicalDropOffLocation(); Robot arm1 = model.findRobot("arm1").orElseThrow(); - DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, blue); + // object "x" shall be place at red or blue + DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, blue); List<Operation> operations = diff.computeOperations(); + assertThat(operations).isNotEmpty(); assertThat(operations).hasSize(1); Operation op = operations.get(0); @@ -90,9 +92,11 @@ public class TestComputeOperations { LogicalDropOffLocation green = logicalScene.resolveLogicalObjectOfInterest("green").asLogicalDropOffLocation(); Robot arm1 = model.findRobot("arm1").orElseThrow(); Robot arm2 = model.findRobot("arm2").orElseThrow(); - DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, green); + // object "x" shall be place at red or green + DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, green); List<Operation> operations = diff.computeOperations(); + assertThat(operations).isNotEmpty(); assertThat(operations).hasSize(2); Operation op1 = operations.get(0); @@ -137,9 +141,11 @@ public class TestComputeOperations { Robot arm2 = model.findRobot("arm2").orElseThrow(); Robot arm4 = model.findRobot("arm4").orElseThrow(); Robot arm5 = model.findRobot("arm5").orElseThrow(); - DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, purple); + // object "x" shall be place at red or purple + DifferenceObjectAtWrongPlace diff = createDifferenceObjectAtWrongPlace(x, emptyPreviousLocation ? null : red, purple); List<Operation> operations = diff.computeOperations(); + assertThat(operations).isNotEmpty(); assertThat(operations).hasSize(3); diff --git a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestDifference.java b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestDifference.java index fb2ffaae2f255e8e5ffd7cc5210d365e5864743b..3ab25fd6a90659428a4c4e615bccb4c1bfa1d9b0 100644 --- a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestDifference.java +++ b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestDifference.java @@ -181,7 +181,6 @@ public class TestDifference { assertNotNull(diffs); assertEquals(2, diffs.getNumChild()); assertThat(diffs).allMatch(d -> d instanceof DifferenceObjectAtWrongPlace); - //noinspection unchecked assertThat(diffs).map(diff -> (DifferenceObjectAtWrongPlace) diff) .extracting(d -> d.getObject().getName(), d -> d.getPreviousLocation().getName(), d -> d.getNewLocation().getName()) .containsOnly(tuple("x", "blue", "red"), diff --git a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestMultiScenes.java b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestMultiScenes.java index dc1080a5f69832879c19ba4ad849c729fdcf9776..b7e16fad042099bce1e44d05bdad591bfbea28e5 100644 --- a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestMultiScenes.java +++ b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestMultiScenes.java @@ -34,8 +34,8 @@ public class TestMultiScenes { @ValueSource(booleans = {true, false}) public void oneSceneNoContains(boolean scene1) { WorldModelB model = newModel(); - TestUtils.addOtherLocations(scene1 ? model.getOtherScene1() : model.getOtherScene2(), "red"); - TestUtils.addOtherObjects(scene1 ? model.getOtherScene1() : model.getOtherScene2(), "a"); + TestUtils.addOtherLocations(model.getOtherScene(scene1 ? 0 : 1), "red"); + TestUtils.addOtherObjects(model.getOtherScene(scene1 ? 0 : 1), "a"); LogicalScene actual = model.mergedOtherScene(); @@ -50,16 +50,16 @@ public class TestMultiScenes { WorldModelB model = newModel(); TestUtils.addOtherLocations(model, "red"); TestUtils.addOtherObjects(model, "a"); - TestUtils.addOtherLocations(model.getOtherScene2(), "blue"); - TestUtils.addOtherObjects(model.getOtherScene2(), "b"); + TestUtils.addOtherLocations(model.getOtherScene(1), "blue"); + TestUtils.addOtherObjects(model.getOtherScene(1), "b"); LogicalScene actual = model.mergedOtherScene(); assertThat(actual.getLogicalDropOffLocationList()) .size().isEqualTo(2); assertThat(actual.getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene2().getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(1).getLogicalDropOffLocationList()) .extracting("Name").containsOnly("red", "blue"); assertThat(actual.getLogicalDropOffLocationList()) .extracting("ContainedObjects").containsOnly(Collections.emptyList()); @@ -67,8 +67,8 @@ public class TestMultiScenes { assertThat(actual.getLogicalMovableObjectList()) .size().isEqualTo(2); assertThat(actual.getLogicalMovableObjectList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalMovableObjectList()) - .doesNotContainAnyElementsOf(model.getOtherScene2().getLogicalMovableObjectList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalMovableObjectList()) + .doesNotContainAnyElementsOf(model.getOtherScene(1).getLogicalMovableObjectList()) .extracting("Name").containsOnly("a", "b"); assertThat(actual.getLogicalMovableObjectList()) .extracting("LocatedAt").containsOnly((LogicalDropOffLocation) null); @@ -80,9 +80,9 @@ public class TestMultiScenes { WorldModelB model = newModel(); TestUtils.addOtherLocations(model, "red", "blue"); TestUtils.addOtherObjects(model, "a", "b"); - model.getOtherScene2().addLogicalDropOffLocation(new LogicalDropOffLocation().setName("red")); - model.getOtherScene2().addLogicalMovableObject(new LogicalMovableObject().setName("a")); - TestUtils.addContainedObjects(scene1 ? model.getOtherScene1() : model.getOtherScene2(), + model.getOtherScene(1).addLogicalDropOffLocation(new LogicalDropOffLocation().setName("red")); + model.getOtherScene(1).addLogicalMovableObject(new LogicalMovableObject().setName("a")); + TestUtils.addContainedObjects(model.getOtherScene(scene1 ? 0 : 1), "red", "a"); LogicalScene actual = model.mergedOtherScene(); @@ -90,8 +90,8 @@ public class TestMultiScenes { assertThat(actual.getLogicalDropOffLocationList()) .size().isEqualTo(2); assertThat(actual.getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene2().getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(1).getLogicalDropOffLocationList()) .extracting("Name").containsExactly("red", "blue"); LogicalDropOffLocation red = actual.resolveLogicalObjectOfInterest("red").asLogicalDropOffLocation(); assertThat(red.getContainedObjectList()) @@ -100,7 +100,7 @@ public class TestMultiScenes { assertThat(actual.getLogicalMovableObjectList()) .size().isEqualTo(2); assertThat(actual.getLogicalMovableObjectList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalMovableObjectList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalMovableObjectList()) .extracting("Name").containsOnly("a", "b"); LogicalMovableObject a = actual.resolveLogicalObjectOfInterest("a").asLogicalMovableObject(); assertThat(a.getLocatedAt()) @@ -114,17 +114,17 @@ public class TestMultiScenes { TestUtils.addOtherObjects(model, "a", "b"); TestUtils.addContainedObjects(model, "red", "a"); - TestUtils.addOtherLocations(model.getOtherScene2(), "red"); - TestUtils.addOtherObjects(model.getOtherScene2(), "a", "b"); - TestUtils.addContainedObjects(model.getOtherScene2(), "red", "a"); + TestUtils.addOtherLocations(model.getOtherScene(1), "red"); + TestUtils.addOtherObjects(model.getOtherScene(1), "a", "b"); + TestUtils.addContainedObjects(model.getOtherScene(1), "red", "a"); LogicalScene actual = model.mergedOtherScene(); assertThat(actual.getLogicalDropOffLocationList()) .size().isEqualTo(2); assertThat(actual.getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalDropOffLocationList()) - .doesNotContainAnyElementsOf(model.getOtherScene2().getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalDropOffLocationList()) + .doesNotContainAnyElementsOf(model.getOtherScene(1).getLogicalDropOffLocationList()) .extracting("Name").containsExactly("red", "blue"); LogicalDropOffLocation red = actual.resolveLogicalObjectOfInterest("red").asLogicalDropOffLocation(); assertThat(red.getContainedObjectList()) @@ -133,7 +133,7 @@ public class TestMultiScenes { assertThat(actual.getLogicalMovableObjectList()) .size().isEqualTo(2); assertThat(actual.getLogicalMovableObjectList()) - .doesNotContainAnyElementsOf(model.getOtherScene1().getLogicalMovableObjectList()) + .doesNotContainAnyElementsOf(model.getOtherScene(0).getLogicalMovableObjectList()) .extracting("Name").containsOnly("a", "b"); LogicalMovableObject a = actual.resolveLogicalObjectOfInterest("a").asLogicalMovableObject(); assertThat(a.getLocatedAt()) diff --git a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestUtils.java b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestUtils.java index 6e5f8fe77601bf88ef82f6f3ef0764c60e932e7c..eea3aa3410d70240c94bf9a59f0ec10f1ade06b8 100644 --- a/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestUtils.java +++ b/ros3rag.placeB/src/test/java/de/tudresden/inf/st/placeB/TestUtils.java @@ -12,8 +12,8 @@ public class TestUtils { WorldModelB model = new WorldModelB(); Scene scene = new Scene(); model.setMyScene(scene); - model.setOtherScene1(new LogicalScene()); - model.setOtherScene2(new LogicalScene()); + model.addOtherScene(new LogicalScene()); + model.addOtherScene(new LogicalScene()); return model; } @@ -70,7 +70,7 @@ public class TestUtils { } public static void addOtherObjects(WorldModelB model, String... names) { - addOtherObjects(model.getOtherScene1(), names); + addOtherObjects(model.getOtherScene(0), names); } public static void addOtherObjects(LogicalScene scene, String... names) { @@ -80,7 +80,7 @@ public class TestUtils { } public static void addOtherLocations(WorldModelB model, String... names) { - addOtherLocations(model.getOtherScene1(), names); + addOtherLocations(model.getOtherScene(0), names); } public static void addOtherLocations(LogicalScene scene, String... names) { @@ -90,7 +90,7 @@ public class TestUtils { } public static void addContainedObjects(WorldModelB model, String locationName, String... objectNames) { - addContainedObjects(model.getOtherScene1(), locationName, objectNames); + addContainedObjects(model.getOtherScene(0), locationName, objectNames); } public static void addContainedObjects(LogicalScene scene, String locationName, String... objectNames) {