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);
}
|