[Bprocessor-commit] gl/src/net/sourceforge/bprocessor/gl/tool PencilTool.java,1.38,1.39
Status: Pre-Alpha
Brought to you by:
henryml
From: Michael L. <he...@us...> - 2005-11-24 13:51:08
|
Update of /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool In directory sc8-pr-cvs1.sourceforge.net:/tmp/cvs-serv26039/src/net/sourceforge/bprocessor/gl/tool Modified Files: PencilTool.java Log Message: More rotatation Index: PencilTool.java =================================================================== RCS file: /cvsroot/bprocessor/gl/src/net/sourceforge/bprocessor/gl/tool/PencilTool.java,v retrieving revision 1.38 retrieving revision 1.39 diff -C2 -d -r1.38 -r1.39 *** PencilTool.java 24 Nov 2005 13:40:56 -0000 1.38 --- PencilTool.java 24 Nov 2005 13:50:54 -0000 1.39 *************** *** 27,31 **** import net.sourceforge.bprocessor.model.Space; import net.sourceforge.bprocessor.model.Geometry; - import net.sourceforge.bprocessor.model.Matrix; import java.util.Iterator; --- 27,30 ---- *************** *** 499,527 **** /** - * Rotate - * @param angle The angle - * @param x The x - * @param y The y - * @param z The z - * @param vector The vector to rotate - * @param center The center of rotation - */ - private void rotate(double angle, double x, double y, double z, - double[] vector, double[] center) { - - double[] v = new double[4]; - - v[0] = vector[0] - center[0]; - v[1] = vector[1] - center[1]; - v[2] = vector[2] - center[2]; - v[3] = 1; - Matrix rotation = Matrix.rotation(angle, x, y, z); - v = rotation.multiply(v); - vector[0] = v[0] + center[0]; - vector[1] = v[1] + center[1]; - vector[2] = v[2] + center[2]; - } - - /** * Invoked when a key has been pressed. Lets user delete what is selected. * @param e The KeyEvent --- 498,501 ---- *************** *** 633,643 **** } if (e.isShiftDown()) { ! rotate(angle, 0, 0, 1, camera, center); } else if (e.isAltDown()) { ! rotate(angle, roll[0], roll[1], roll[2], center, camera); } else { ! rotate(angle, 0, 0, 1, camera, pivot); ! rotate(angle, 0, 0, 1, center, pivot); ! rotate(angle, 0, 0, 1, roll, new double[]{0, 0, 0}); } glv.repaint(); --- 607,617 ---- } if (e.isShiftDown()) { ! Geometry.rotate(angle, 0, 0, 1, camera, center); } else if (e.isAltDown()) { ! Geometry.rotate(angle, roll[0], roll[1], roll[2], center, camera); } else { ! Geometry.rotate(angle, 0, 0, 1, camera, pivot); ! Geometry.rotate(angle, 0, 0, 1, center, pivot); ! Geometry.rotate(angle, 0, 0, 1, roll, new double[]{0, 0, 0}); } glv.repaint(); *************** *** 673,683 **** } if (e.isShiftDown()) { ! rotate(angle, x, y, z, camera, center); } else if (e.isAltDown()) { ! rotate(angle, x, y, z, center, camera); } else { ! rotate(angle, x, y, z, camera, pivot); ! rotate(angle, x, y, z, center, pivot); ! rotate(angle, x, y, z, roll, zero); } --- 647,657 ---- } if (e.isShiftDown()) { ! Geometry.rotate(angle, x, y, z, camera, center); } else if (e.isAltDown()) { ! Geometry.rotate(angle, x, y, z, center, camera); } else { ! Geometry.rotate(angle, x, y, z, camera, pivot); ! Geometry.rotate(angle, x, y, z, center, pivot); ! Geometry.rotate(angle, x, y, z, roll, zero); } |