Attach your ColorCube to a BranchGroup then add the BranchGroup to the live
Group.

At 10:52 PM 4/17/2002 +0200, you wrote:
>Im trying to add a ColorCube to a living Group, I set the
>ALLOW_CHILDREN_EXTEND capability bit to all the groups but I receive the
>javax.media.j3d.RestrictedAccessException: Group: only a BranchGroup
>node may be added
>
>Can anybody show me what can I modify to avoid it.
>
>Thanks.
>
>Here is the code:
>
>import java.applet.Applet;
>import java.awt.BorderLayout;
>import java.awt.event.*;
>import java.awt.GraphicsConfiguration;
>import com.sun.j3d.utils.applet.MainFrame;
>import com.sun.j3d.utils.geometry.ColorCube;
>import com.sun.j3d.utils.universe.*;
>import javax.media.j3d.*;
>import javax.vecmath.*;
>
>public class HelloUniverse extends Applet {
>
>     private SimpleUniverse u = null;
>     TransformGroup objTrans = new TransformGroup();
>     public BranchGroup createSceneGraph() {
>    // Create the root of the branch graph
>    BranchGroup objRoot = new BranchGroup();
>
>    // Create the TransformGroup node and initialize it to the
>    // identity. Enable the TRANSFORM_WRITE capability so that
>    // our behavior code can modify it at run time. Add it to
>    // the root of the subgraph.
>
>    objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
>    objRoot.addChild(objTrans);
>
>    objTrans.setCapability(TransformGroup.ALLOW_CHILDREN_EXTEND);
>         objRoot.setCapability(BranchGroup.ALLOW_CHILDREN_EXTEND);
>
>         // Have Java 3D perform optimizations on this scene graph.
>         objRoot.compile();
>
>    return objRoot;
>     }
>
>     public HelloUniverse() {
>     }
>
>     public void init() {
>    setLayout(new BorderLayout());
>         GraphicsConfiguration config =
>            SimpleUniverse.getPreferredConfiguration();
>
>    Canvas3D c = new Canvas3D(config);
>    add("Center", c);
>
>    // Create a simple scene and attach it to the virtual universe
>    BranchGroup scene = createSceneGraph();
>    u = new SimpleUniverse(c);
>
>         // This will move the ViewPlatform back a bit so the
>         // objects in the scene can be viewed.
>         u.getViewingPlatform().setNominalViewingTransform();
>
>    u.addBranchGraph(scene);
>         // Create a simple Shape3D node; add it to the scene graph.
>    objTrans.addChild(new ColorCube(0.4));
>     }
>
>     public void destroy() {
>    u.removeAllLocales();
>     }
>
>     //
>     // The following allows HelloUniverse to be run as an application
>     // as well as an applet
>     //
>     public static void main(String[] args) {
>    new MainFrame(new HelloUniverse(), 256, 256);
>     }
>}

===========================================================================
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".

Reply via email to