comparison src/main/java/alice/test/topology/aquarium/MouseViewEvent.java @ 345:8f71c3e6f11d

Change directory structure Maven standard
author sugi
date Wed, 16 Apr 2014 18:26:07 +0900
parents
children
comparison
equal deleted inserted replaced
344:9f97ec18f8c5 345:8f71c3e6f11d
1 package alice.test.topology.aquarium;
2
3 import java.awt.event.MouseEvent;
4 import java.awt.event.MouseMotionListener;
5
6 public class MouseViewEvent implements MouseMotionListener {
7
8 int new_x, new_y;
9 int pre_x, pre_y;
10 ViewChange v;
11
12 public MouseViewEvent(ViewChange v) {
13 this.v = v;
14
15 }
16
17 @Override
18 public void mouseDragged(MouseEvent event) {
19 new_x = event.getX();
20 new_y = event.getY();
21
22 v.theta -= v.sensitivity * (new_y - pre_y);
23 v.phi += v.sensitivity * (new_x - pre_x);
24 v.camera_y = v.distance * (float)Math.sin(v.theta);
25 v.camera_xz = v.distance * (float)Math.cos(v.theta);
26
27 v.camera_x = v.camera_xz * (float)Math.sin(v.phi);
28 v.camera_z = v.camera_xz * (float)Math.cos(v.phi);
29 v.Vector_camera_pos.x = v.camera_x;
30 v.Vector_camera_pos.y = v.camera_y;
31 v.Vector_camera_pos.z = v.camera_z;
32
33 v.Transform_camera_pos.setIdentity();
34 v.Transform_camera_pos.setTranslation(v.Vector_camera_pos);
35
36 v.Transform_camera_theta.rotX(-v.theta);
37 v.Transform_camera_phi.rotY(v.phi);
38 v.Transform_camera_phi.mul(v.Transform_camera_theta);
39 v.Transform_camera_pos.mul(v.Transform_camera_phi);
40 v.Camera.setTransform(v.Transform_camera_pos);
41 pre_x = event.getX();
42 pre_y = event.getY();
43
44 }
45
46 @Override
47 public void mouseMoved(MouseEvent event) {
48 pre_x = event.getX();
49 pre_y = event.getY();
50 }
51
52 }