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