Paul, Without a test program, my guess is that you are seeing a lagging effect when the state change on Behavior to the effect being taken in the rendering. setEnable(), like most scenegraph update methods, sends a message to the J3D's message queue, and it will be process by the BehaviorStructure at the appropriate interval.
To answer your first 2 questions :
1) The state change is too late to be considered for the current working frame.
2) It might, depending whether the message is in the queue before BehaviorStructure starts to process its message queue.
- Chien Yang. Java 3D, Sun Microsystems Inc.
Paul Pantera wrote:
The Java 3D docs don't seem to explain what it means to enable or disable a Behavior. Specifically, what happens if I call setEnable(false) 1) while the Behavior is in the middle of its processStimulus method, and 2) when the Behavior is waiting to be awakened ???
I'm clearly seeing the processStimulus method called on Behaviors that are not enabled. I had to add a check to processStimulus to see if the behavior is enabled. That doesn't seem right to me.
So what does disabling a Behavior do?
Also, is there a way to check an interpreter to see what its current state is (processing stimulus or waiting to be awakened)? That would give me a way to wait until the current stimulus is processed before taking any action.
-Paul
=========================================================================== 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".