|
@@ -40,8 +40,6 @@ import org.openide.loaders.DataObject;
|
|
|
* 1) fixed scale and rotation values by holding Ctrl and dragging mouse
|
|
|
* BUGS:
|
|
|
* 1) window always needs focus from primary click when it should focus from secondary and middle mouse
|
|
|
- * 2) ESC will not reset currentState (ESC get hijacked)
|
|
|
- * 3) rotation towards screen is busted (wrong axis)
|
|
|
*
|
|
|
* @author Brent Owens
|
|
|
*/
|
|
@@ -609,8 +607,8 @@ public class SelectTool extends SceneEditTool {
|
|
|
} else if (axis == Axis.z) {
|
|
|
rotate = rotate.fromAngleAxis(newRotAngle, Vector3f.UNIT_Z);
|
|
|
} else {
|
|
|
- Vector3f screen = getCamera().getScreenCoordinates(selected.getWorldTranslation());
|
|
|
- rotate = rotate.fromAngleAxis(newRotAngle, screen.normalize());
|
|
|
+ Vector3f screen = getCamera().getLocation().subtract(selected.getWorldTranslation()).normalize();
|
|
|
+ rotate = rotate.fromAngleAxis(newRotAngle, screen);
|
|
|
}
|
|
|
selected.setLocalRotation(selected.getLocalRotation().mult(rotate));
|
|
|
|