import java.awt.AWTEvent;import java.awt.event.*;import java.util.Enumeration;import javax.media.j3d.*;import javax.vecmath.*;import com.sun.j3d.utils.universe.*;public class DisparityBehavior extends Behavior {  private WakeupCondition keyCriterion;  private int leftKey = KeyEvent.VK_SPACE;  private int rightKey = KeyEvent.VK_BACK_SPACE;  PhysicalBody body;    public DisparityBehavior(PhysicalBody body)  {    this.body = body;  }  public void initialize()  {    WakeupCriterion[] keyEvents = new WakeupCriterion[2];    keyEvents[0] = new WakeupOnAWTEvent( KeyEvent.KEY_PRESSED );    keyEvents[1] = new WakeupOnAWTEvent( KeyEvent.KEY_RELEASED );   keyCriterion = new WakeupOr( keyEvents );    wakeupOn( keyCriterion );  }  public void processStimulus( Enumeration criteria )  {    WakeupCriterion wakeup;    AWTEvent[] event;    while( criteria.hasMoreElements() )    {      wakeup = (WakeupCriterion) criteria.nextElement();      if( !(wakeup instanceof WakeupOnAWTEvent) )        continue;      event = ((WakeupOnAWTEvent)wakeup).getAWTEvent();      for( int i = 0; i < event.length; i++ )      {        if( event[i].getID() == KeyEvent.KEY_PRESSED )        {          processKeyEvent((KeyEvent)event[i]);        }      }    }    wakeupOn( keyCriterion );  }  protected void processKeyEvent(KeyEvent event)  {    int keycode = event.getKeyCode();        Point3d currentLEyePos = new Point3d();    body.getLeftEyePosition(currentLEyePos);     Point3d currentREyePos = new Point3d();    body.getRightEyePosition(currentREyePos);    if(keycode == leftKey) {     body.setLeftEyePosition(new Point3d(currentLEyePos.x-.001,currentLEyePos.y, currentLEyePos.z));     body.setRightEyePosition(new Point3d(currentREyePos.x+.001,currentREyePos.y, currentREyePos.z));    }          else if (keycode == rightKey) {     body.setLeftEyePosition(new Point3d(currentLEyePos.x+.001,currentLEyePos.y, currentLEyePos.z));     body.setRightEyePosition(new Point3d(currentREyePos.x-.001,currentREyePos.y, currentREyePos.z));    }    }  //moves forward backward or rotates left right}