Mercurial > hg > jslab
view examples/java3d/hello10.java @ 7:243687520bcc
Meh
author | samer |
---|---|
date | Fri, 05 Apr 2019 21:52:03 +0100 |
parents | 5df24c91468d |
children |
line wrap: on
line source
/* hello10.java Construct universe without using SimpleUniverse utility class - this puts together the view group explicitly. Now has dynamically creatable views. Have to construct views on BranchGroups so they can be added while universe is live? picking */ import samer.core.*; import java.awt.event.*; import javax.media.j3d.*; import javax.vecmath.*; public class hello10 extends util implements Agent { // create universe LocalUniverse U=new LocalUniverse(); BranchGroup root=new BranchGroup(); public static void main(String[] arse) { init(); new hello10(); } public hello10() { Viewer v=new Viewer("view"); // v.lookFrom(new Point3d(0,0,8),new Vector3d(0,1,0)); // create scene root.addChild(createSceneGraph()); root.addChild(v); root.setCapability(Group.ALLOW_CHILDREN_EXTEND); root.setCapability(Group.ALLOW_CHILDREN_WRITE); /* tg.setCapability(TransformGroup.ENABLE_PICK_REPORTING); PickRotateBehavior pr=new PickRotateBehavior(objroot, canvas, bounds); objroot.addChild(pickRotate); */ root.compile(); U.addGroup(root); Shell.registerAgent(this); Shell.exposeCommands(this); } public void getCommands(Agent.Registry r) { r.add("view"); r.setTarget(null); r.add("start").add("stop"); } public void execute(String cmd, Environment env) throws Exception { if (cmd.equals("view")) { root.addChild(new Viewer(X.string(env.datum("name"),"view"))); } } private static TransformGroup createSceneGraph() { Transform3D r=new Transform3D(); //r.rotX(Math.PI/2); r.setScale(0.5); TransformGroup t2=new TransformGroup(r); t2.addChild( yoyoGroup( yoyoGeometryInfo(12).getGeometryArray(), wireframe2(), pointy())); TransformGroup tg = new TransformGroup(); // addRotator(tg); mouseRotate(tg); mouseTranslate(tg); mouseZoom(tg); tg.addChild(t2); return tg; } }