00001 package org.hfbk.vis; 00002 00003 import java.awt.event.KeyEvent; 00004 import java.awt.event.MouseEvent; 00005 00006 public class MouseWASDViewpoint extends MouseViewpoint { 00007 00008 public boolean invert=false; 00009 00010 public void pollMouse(float dt) { 00011 if (keysdown.contains(KeyEvent.VK_W)) 00012 forward( KEYSPEED * linearSpeed* dt ); 00013 if (keysdown.contains(KeyEvent.VK_S)) 00014 forward(-KEYSPEED * linearSpeed* dt ); 00015 if (keysdown.contains(KeyEvent.VK_A)) 00016 strafe(-KEYSPEED * dt * linearSpeed); 00017 if (keysdown.contains(KeyEvent.VK_D)) 00018 strafe( KEYSPEED * dt * linearSpeed); 00019 if (keysdown.contains(KeyEvent.VK_E)) 00020 y+= KEYSPEED * linearSpeed* dt ; 00021 if (keysdown.contains(KeyEvent.VK_Q)) 00022 y-= KEYSPEED * linearSpeed* dt ; 00023 if (keysdown.contains(KeyEvent.VK_PLUS)) 00024 fov-=fov*dt; 00025 if (keysdown.contains(KeyEvent.VK_MINUS)) 00026 fov+=fov*dt; 00027 if (keysdown.contains(KeyEvent.VK_NUMBER_SIGN)) 00028 fov=.5f; 00029 00030 // move the camera by mouse input 00031 if (button[MouseEvent.BUTTON3]) { 00032 angle -= dx * dt * angularSpeed; 00033 if (invert) elevation += dy * dt * angularSpeed; 00034 else elevation -= dy * dt * angularSpeed; 00035 } 00036 00037 } 00038 00039 }