Mercurial > hg > Members > tatsuki > Alice
view src/main/java/alice/test/topology/aquarium/fx/CreateObject.java @ 383:878d397904da multicast
draw same Scene
author | sugi |
---|---|
date | Tue, 10 Jun 2014 19:36:46 +0900 |
parents | ac3cf96f4426 |
children | 56d4f93a3921 |
line wrap: on
line source
package alice.test.topology.aquarium.fx; import javafx.beans.binding.When; import javafx.beans.property.BooleanProperty; import javafx.beans.property.SimpleBooleanProperty; import javafx.scene.Group; import javafx.scene.shape.DrawMode; import javafx.scene.shape.MeshView; import com.interactivemesh.jfx.importer.obj.ObjModelImporter; import alice.codesegment.CodeSegment; import alice.datasegment.CommandType; import alice.datasegment.Receiver; public class CreateObject extends CodeSegment{ private Receiver info = ids.create(CommandType.TAKE); public CreateObject(){ info.setKey("fishData"); } @Override public void run() { System.out.println("receive data " +info.from); FishInfo fishInfo = info.asClass(FishInfo.class); BooleanProperty showWireframe = new SimpleBooleanProperty(false); ObjModelImporter objImporter = new ObjModelImporter(); objImporter.read(getClass().getClassLoader().getResource("objects/Scooter-smgrps.obj")); MeshView[] dukeMesh = objImporter.getImport(); objImporter.close(); Group obj = new Group(); for (MeshView _dukeMesh : dukeMesh) { obj.getChildren().addAll(_dukeMesh); _dukeMesh.drawModeProperty().bind(new When(showWireframe).then(DrawMode.LINE).otherwise(DrawMode.FILL)); } obj.setScaleX(fishInfo.size); // twice size obj.setScaleY(fishInfo.size); obj.setScaleZ(fishInfo.size); obj.setId(fishInfo.name); new SetTranslate(fishInfo.name+"Fish"); ods.put("addOffer", obj); ods.put("register", fishInfo); new SendDataOthers(info, "fishData"); new CreateObject(); } }