[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool AbstractTool.java,1.43,1.44
Status: Pre-Alpha
Brought to you by:
henryml
From: Nordholt <nor...@us...> - 2005-12-29 14:22:09
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv10438 Modified Files: AbstractTool.java Log Message: fixed the way arrowkeys moves the camera. Index: AbstractTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/AbstractTool.java,v retrieving revision 1.43 retrieving revision 1.44 diff -C2 -d -r1.43 -r1.44 *** AbstractTool.java 21 Dec 2005 14:37:17 -0000 1.43 --- AbstractTool.java 29 Dec 2005 14:21:58 -0000 1.44 *************** *** 170,173 **** --- 170,182 ---- public void keyPressed(KeyEvent e) { Camera c = glv.getView().getCamera(); + Vertex up = new Vertex(c.getRoll()[0], c.getRoll()[1], c.getRoll()[2]); + double x = c.getCenter()[0] - c.getCamera()[0]; + double y = c.getCenter()[1] - c.getCamera()[1]; + double z = c.getCenter()[2] - c.getCamera()[2]; + Vertex forward = new Vertex(x, y, z); + forward.scale(2 / forward.length()); + Vertex sidewards = up.cross(forward); + sidewards.scale(2 / sidewards.length()); + up.scale(2 / up.length()); if ((e.getModifiersEx() & KeyEvent.SHIFT_DOWN_MASK) == KeyEvent.SHIFT_DOWN_MASK) { // IF SHIFT IS PRESSED AS MODIFIER *************** *** 179,189 **** } else { if (e.getKeyCode() == KeyEvent.VK_UP) { ! c.translate(new double[] {0.0, -1.0, 0.0}); } else if (e.getKeyCode() == KeyEvent.VK_DOWN) { ! c.translate(new double[] {0.0, 1.0, 0.0}); } else if (e.getKeyCode() == KeyEvent.VK_LEFT) { ! c.translate(new double[] {-1.0, 0.0, 0.0}); } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) { ! c.translate(new double[] {1.0, 0.0, 0.0}); } else if (e.getKeyCode() == KeyEvent.VK_Z) { c.zoomout(); --- 188,198 ---- } else { if (e.getKeyCode() == KeyEvent.VK_UP) { ! c.translate(new double[] {up.getX(), up.getY(), up.getZ()}); } else if (e.getKeyCode() == KeyEvent.VK_DOWN) { ! c.translate(new double[] {-up.getX(), -up.getY(), -up.getZ()}); } else if (e.getKeyCode() == KeyEvent.VK_LEFT) { ! c.translate(new double[] {sidewards.getX(), sidewards.getY(), sidewards.getZ()}); } else if (e.getKeyCode() == KeyEvent.VK_RIGHT) { ! c.translate(new double[] {-sidewards.getX(), -sidewards.getY(), -sidewards.getZ()}); } else if (e.getKeyCode() == KeyEvent.VK_Z) { c.zoomout(); |