Here's the testcase...

/*
 * A hacked version of Sun's HelloUniverse.java
*/

import java.awt.*;
import java.awt.event.*;
import javax.swing.*;
import javax.swing.event.*;

import com.sun.j3d.utils.geometry.ColorCube;
import com.sun.j3d.utils.universe.*;

import javax.media.j3d.*;
import javax.vecmath.*;

public class NonPassiveTest extends JFrame {

    private SimpleUniverse u = null;

    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.
 TransformGroup objTrans = new TransformGroup();
 objTrans.setCapability(TransformGroup.ALLOW_TRANSFORM_WRITE);
 objRoot.addChild(objTrans);

 // Create a simple Shape3D node; add it to the scene graph.
 // objTrans.addChild(new ColorCube(0.4));

        // simpleBehavior
        SimpleBehavior sbeh = new SimpleBehavior();
        BoundingSphere bounds =
                    new BoundingSphere( new Point3d(),
            Double.POSITIVE_INFINITY
                                      );
 sbeh.setSchedulingBounds( bounds );
        objRoot.addChild( sbeh );

        // Have Java 3D perform optimizations on this scene graph.
        objRoot.compile();

 return objRoot;
    }

    public NonPassiveTest() {
        init();
    }

    public void init() {
        JPanel panel = new JPanel();
 panel.setLayout(new BorderLayout());
        GraphicsConfiguration config =
           SimpleUniverse.getPreferredConfiguration();

 Canvas3D c = new Canvas3D(config);
 panel.add( c, BorderLayout.CENTER );

        JButton button = new JButton( "Choose Color" );
        button.addActionListener( new ActionListener() {
            public void actionPerformed( ActionEvent e ) {
                Color newColor = JColorChooser.showDialog(
                                                     NonPassiveTest.this,
                                                     "Choose Color",
                                                     Color.black
                                                   );
            }
        });
 panel.add( button, BorderLayout.NORTH );

        this.getContentPane().add( panel );
        this.setDefaultCloseOperation( JFrame.EXIT_ON_CLOSE );
        this.pack();
        this.setSize( 200, 200 );
        this.setVisible( true );

 // 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);
    }


    public class SimpleBehavior extends Behavior {
       // Wakeup condition - framecount = 0 -> wakeup on every frame
       // // passive or active ?
       // WakeupOnElapsedFrames wakeup = new WakeupOnElapsedFrames(100,
false);
       // WakeupOnElapsedFrames wakeup = new WakeupOnElapsedFrames(0,
true);
       WakeupOnElapsedFrames wakeup = new WakeupOnElapsedFrames(10000);

       public SimpleBehavior() {
           setEnable(true);
       }

       // Called to init the behavior
       public void initialize() {
           // Set the trigger for the behavior
           wakeupOn(wakeup);
       }

       // Called every time the behavior is activated
       public void processStimulus(java.util.Enumeration critera) {
           wakeupOn(wakeup);
       }

    }


    //
    // The following allows NonPassiveTest to be run as an application
    // as well as an applet
    //
    public static void main(String[] args) {
 new NonPassiveTest();
    }
}

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