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

Reply via email to