Mercurial > hg > Database > Alice
diff src/main/java/alice/test/topology/aquarium/MouseViewEvent.java @ 419:aefbe41fcf12 dispose
change tab to space
author | sugi |
---|---|
date | Tue, 15 Jul 2014 16:00:22 +0900 |
parents | 8f71c3e6f11d |
children | 6e304a7a60e7 |
line wrap: on
line diff
--- a/src/main/java/alice/test/topology/aquarium/MouseViewEvent.java Tue Jul 15 06:15:53 2014 +0900 +++ b/src/main/java/alice/test/topology/aquarium/MouseViewEvent.java Tue Jul 15 16:00:22 2014 +0900 @@ -4,49 +4,49 @@ import java.awt.event.MouseMotionListener; public class MouseViewEvent implements MouseMotionListener { - - int new_x, new_y; - int pre_x, pre_y; - ViewChange v; - - public MouseViewEvent(ViewChange v) { - this.v = v; - - } + + int new_x, new_y; + int pre_x, pre_y; + ViewChange v; + + public MouseViewEvent(ViewChange v) { + this.v = v; + + } + + @Override + public void mouseDragged(MouseEvent event) { + new_x = event.getX(); + new_y = event.getY(); + + v.theta -= v.sensitivity * (new_y - pre_y); + v.phi += v.sensitivity * (new_x - pre_x); + v.camera_y = v.distance * (float)Math.sin(v.theta); + v.camera_xz = v.distance * (float)Math.cos(v.theta); - @Override - public void mouseDragged(MouseEvent event) { - new_x = event.getX(); - new_y = event.getY(); - - v.theta -= v.sensitivity * (new_y - pre_y); - v.phi += v.sensitivity * (new_x - pre_x); - v.camera_y = v.distance * (float)Math.sin(v.theta); - v.camera_xz = v.distance * (float)Math.cos(v.theta); - - v.camera_x = v.camera_xz * (float)Math.sin(v.phi); - v.camera_z = v.camera_xz * (float)Math.cos(v.phi); - v.Vector_camera_pos.x = v.camera_x; - v.Vector_camera_pos.y = v.camera_y; - v.Vector_camera_pos.z = v.camera_z; - - v.Transform_camera_pos.setIdentity(); - v.Transform_camera_pos.setTranslation(v.Vector_camera_pos); - - v.Transform_camera_theta.rotX(-v.theta); - v.Transform_camera_phi.rotY(v.phi); - v.Transform_camera_phi.mul(v.Transform_camera_theta); - v.Transform_camera_pos.mul(v.Transform_camera_phi); - v.Camera.setTransform(v.Transform_camera_pos); - pre_x = event.getX(); - pre_y = event.getY(); - - } - - @Override - public void mouseMoved(MouseEvent event) { - pre_x = event.getX(); - pre_y = event.getY(); - } + v.camera_x = v.camera_xz * (float)Math.sin(v.phi); + v.camera_z = v.camera_xz * (float)Math.cos(v.phi); + v.Vector_camera_pos.x = v.camera_x; + v.Vector_camera_pos.y = v.camera_y; + v.Vector_camera_pos.z = v.camera_z; + + v.Transform_camera_pos.setIdentity(); + v.Transform_camera_pos.setTranslation(v.Vector_camera_pos); + + v.Transform_camera_theta.rotX(-v.theta); + v.Transform_camera_phi.rotY(v.phi); + v.Transform_camera_phi.mul(v.Transform_camera_theta); + v.Transform_camera_pos.mul(v.Transform_camera_phi); + v.Camera.setTransform(v.Transform_camera_pos); + pre_x = event.getX(); + pre_y = event.getY(); + + } + + @Override + public void mouseMoved(MouseEvent event) { + pre_x = event.getX(); + pre_y = event.getY(); + } }