Mercurial > hg > Database > Alice
view src/main/java/alice/test/topology/aquarium/fx/CreateObject.java @ 547:e91a574b69de dispose
remove index
author | Nozomi Teruya <e125769@ie.u-ryukyu.ac.jp> |
---|---|
date | Tue, 18 Aug 2015 16:15:17 +0900 |
parents | 15eeb439830c |
children |
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.Node; import javafx.scene.shape.DrawMode; import javafx.scene.shape.MeshView; import com.interactivemesh.jfx.importer.col.ColModelImporter; 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); // fishInfo private Receiver info1 = ids.create(CommandType.PEEK); // fishInfo public CreateObject(){ info.setKey("fishData", this); info1.setKey("type", this); } @Override public void run() { FishInfo fishInfo = info.asClass(FishInfo.class); Group obj = new Group(); addColladaObject(obj); obj.setScaleX(fishInfo.size); obj.setScaleY(fishInfo.size); obj.setScaleZ(fishInfo.size); obj.setId(fishInfo.name); ods.put("addOffer", obj); if (!fishInfo.fromCheckExist) new SendDataOthers(info, "fishData"); new CreateObject(); } // for read *.obj file public void addObject(Group obj){ BooleanProperty showWireframe = new SimpleBooleanProperty(false); ObjModelImporter objImporter = new ObjModelImporter(); objImporter.read(getClass().getClassLoader().getResource("objects/Scooter-smgrps.obj")); MeshView[] dukeMesh = objImporter.getImport(); objImporter.close(); for (MeshView _dukeMesh : dukeMesh) { obj.getChildren().addAll(_dukeMesh); _dukeMesh.drawModeProperty().bind(new When(showWireframe).then(DrawMode.LINE).otherwise(DrawMode.FILL)); } } // for read *.dae file public void addColladaObject(Group obj){ String url = getResourceUrl(); ColModelImporter colImporter = new ColModelImporter(); colImporter.read(getClass().getClassLoader().getResource(url)); Node[] node = colImporter.getImport(); obj.getChildren().add(node[0]); } public String getResourceUrl() { String type = info1.asString(); System.out.println(type); for (FishType f :FishType.values()){ if (type.equals(f.name())){ return f.getUrl(); } } return FishType.DEFAULT.getUrl(); } }