Mercurial > hg > Database > Alice
view src/main/java/alice/test/topology/aquarium/fx/SetTranslate.java @ 387:1cbac5818dca multicast
add scope dataSegment
author | sugi |
---|---|
date | Mon, 16 Jun 2014 16:59:39 +0900 |
parents | 878d397904da |
children | e29cf08ad1f3 |
line wrap: on
line source
package alice.test.topology.aquarium.fx; import javafx.application.Platform; import javafx.scene.Group; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class SetTranslate extends CodeSegment { private Receiver info = ids.create(CommandType.TAKE); // object instance private Receiver info1 = ids.create(CommandType.TAKE); // differential value //private Receiver info2 = ids.create(CommandType.TAKE); // absolute fish position value private Receiver info3 = ids.create(CommandType.PEEK); // start x private boolean executed = false; public SetTranslate(String key) { info.setKey(key); info1.setKey(key+"diffP"); info3.setKey("startX"); } @Override public void run() { if (!executed) { executed = true; new SendDataOthers(info1, info1.key); // javafx's Scene can be accessed only FX application thread. Platform.runLater(this); } else { Group fish = info.asClass(Group.class); FishInfo fp = info1.asClass(FishInfo.class); //int scope = info3.asInteger(); fish.setTranslateX(fish.getTranslateX()+fp.getX()); fish.setTranslateY(fish.getTranslateY()+fp.getY()); fish.setTranslateZ(fish.getTranslateZ()+fp.getZ()); ods.flip(info); executed = false; new SetTranslate(info.key); } } }