then... What ALLOW_CHILDREN_EXTEND is for?
(I'd like to adding nodes without make a new Branchgroup for each one or
dettachig and attaching the BranchGroup each time.)
Scott Rutledge wrote:
> 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".
>
===========================================================================
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".