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