view examples/java3d/hello4.java @ 1:5df24c91468d

Oh my what a mess.
author samer
date Fri, 05 Apr 2019 16:26:00 +0100
parents
children
line wrap: on
line source
import samer.core.*;
import javax.media.j3d.*;
import javax.vecmath.*;
import com.sun.j3d.utils.universe.*; 
import com.sun.j3d.utils.behaviors.keyboard.*;

public class hello4 extends util implements Agent
{
	BranchGroup	root=new BranchGroup();
	Canvas3D	canvas=new Canvas3D(null);

	public static void main(String[] args)
	{
		init();
		expose((new hello4()).canvas,"hello");
	}

	public hello4()
	{		
		canvas=new Canvas3D(getGraphicsConfiguration());

		Shell.print("stereo? "+ canvas.getStereoAvailable());
		Shell.print("antialiasing? "+ canvas.getSceneAntialiasingAvailable());
		// canvas.stopRenderer();

		SimpleUniverse U = new SimpleUniverse(canvas);
		TransformGroup	tg = new TransformGroup();

		addRotator(tg);
		addKeyNavigator(tg,U.getViewingPlatform().getViewPlatformTransform());
		addBackground(root,new Background(0.1f,0.2f,0.15f));

		Transform3D shrink=new Transform3D();
		shrink.setScale(0.6);
		TransformGroup sg=new TransformGroup(shrink);
		tg.addChild(sg);
		sg.addChild(yoyoGroup());
		root.addChild(tg);

		root.compile();

        U.getViewingPlatform().setNominalViewingTransform();
		U.addBranchGraph(root);

		Shell.registerAgent(this);
		Shell.exposeCommands(this);

		//setViewPolicy(canvas.getView());
	}

	public void getCommands(Agent.Registry r) { r.add("start").add("stop"); }
	public void execute(String cmd, Environment env) {
		if (cmd.equals("start")) { canvas.startRenderer(); }
		else if (cmd.equals("stop")) { canvas.stopRenderer(); }
	}

}