// This will move the ViewPlatform back a bit so the
// objects in the scene can be viewed.
u.getViewingPlatform().setNominalViewingTransform();
u.addBranchGraph(scene);
} public BranchGroup createSceneGraph(int i) {
// Create the root of the branch graph
BranchGroup objRoot = new BranchGroup();
TransformGroup objTrans = new TransformGroup();
objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
Transform3D t = new Transform3D();
TransformGroup tg = new TransformGroup(t);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_READ);
tg.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
objTrans.addChild(tg);
tg.addChild(new ColorCube(0.4));
MouseRotate behavior = new MouseRotate();
BoundingSphere bounds = new BoundingSphere(new Point3d(0.0,0.0,0.0), 100.0);
behavior.setTransformGroup(tg);
objTrans.addChild(behavior);
// Create the translate behavior node
MouseTranslate behavior3 = new MouseTranslate();
behavior3.setTransformGroup(tg);
objTrans.addChild(behavior3);
behavior3.setSchedulingBounds(bounds);
KeyNavigatorBehavior keyNavBeh = new KeyNavigatorBehavior(tg);
keyNavBeh.setSchedulingBounds(new BoundingSphere( new Point3d(),1000.0));
objTrans.addChild(keyNavBeh);
behavior.setSchedulingBounds(bounds);
objRoot.addChild(objTrans); return objRoot;
} public StereoCube() {
} public void destroy() {
u.removeAllLocales();
} public void setSize(int width, int height) {
System.out.println("setsize " + width +"," +height); super.setSize(width, height); int minDimension = Math.min(width/2, height);
c1.setSize((minDimension - 20),(minDimension - 20));
c2.setSize((minDimension - 20),(minDimension - 20)); if (mf != null) {
mf.appletResize(width, height);
}
validate();
} public static void main(String[] args) {
mf = new MainFrame(new StereoCube(), 400, 200);
}
}