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

Reply via email to