Hi, Could someone say what is wrong with my code. I'm trying to create two canvases and to render object( colorcube in this case) on canvas1 and another object (colorcube with rotation) on canvas2. But result of my code is that both cubes will be rendered on both canvases.
-mikko Code looks like this: import javax.media.j3d.*; import javax.vecmath.*; import com.sun.j3d.utils.universe.*; import com.sun.j3d.utils.geometry.*; import javax.swing.*; import java.awt.*; class canvases extends Canvas3D { public static void main(String args[] ) { JFrame frame = new JFrame(); frame.getContentPane().setLayout(new GridLayout(2,0)); VirtualUniverse u = new VirtualUniverse(); Canvas3D c1 = new canvases(0, u ); Canvas3D c2 = new canvases(1, u ); frame.getContentPane().add(c1); frame.getContentPane().add(c2); frame.setSize(400,400); frame.show(); } public canvases(int geom, VirtualUniverse u ) { super(SimpleUniverse.getPreferredConfiguration()); BranchGroup scene = createSceneGraph(geom); Locale locale = new Locale(u); View view = new View(); ViewPlatform vp = new ViewPlatform(); PhysicalBody pb = new PhysicalBody(); PhysicalEnvironment pe = new PhysicalEnvironment(); view.addCanvas3D(this); view.attachViewPlatform(vp); view.setPhysicalBody(pb); view.setPhysicalEnvironment(pe); BranchGroup viewBranch = new BranchGroup(); Transform3D viewXfm = new Transform3D(); viewXfm.set(new Vector3f(0.0f,0.0f,5.0f)); TransformGroup viewXfmGroup = new TransformGroup(viewXfm); viewXfmGroup.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE); viewXfmGroup.addChild(vp); viewBranch.addChild(viewXfmGroup); locale.addBranchGraph(scene); locale.addBranchGraph(viewBranch); } public BranchGroup createSceneGraph(int geom) { BranchGroup objRoot = new BranchGroup(); if (geom==0) objRoot.addChild(new ColorCube(0.4)); else if(geom==1) { Transform3D rotate = new Transform3D(); Transform3D tempRotate = new Transform3D(); rotate.rotX(Math.PI/4.0d); tempRotate.rotY(Math.PI/5.0d); rotate.mul(tempRotate); TransformGroup objRotate = new TransformGroup(rotate); objRoot.addChild(objRotate); objRotate.addChild(new ColorCube(0.4)); } return objRoot; } } =========================================================================== To unsubscribe, send email to [EMAIL PROTECTED] and include in the body of the message "signoff JAVA3D-INTEREST". For general help, send email to [EMAIL PROTECTED] and include in the body of the message "help".