summaryrefslogtreecommitdiffstats
path: root/src/gleem/ExaminerViewer.java
diff options
context:
space:
mode:
Diffstat (limited to 'src/gleem/ExaminerViewer.java')
-rw-r--r--src/gleem/ExaminerViewer.java71
1 files changed, 43 insertions, 28 deletions
diff --git a/src/gleem/ExaminerViewer.java b/src/gleem/ExaminerViewer.java
index a99e555..e88ecf7 100644
--- a/src/gleem/ExaminerViewer.java
+++ b/src/gleem/ExaminerViewer.java
@@ -39,13 +39,20 @@
package gleem;
-import java.awt.Dimension;
-import java.awt.event.*;
-import java.util.*;
+import gleem.linalg.Mat4f;
+import gleem.linalg.MathUtil;
+import gleem.linalg.Rotf;
+import gleem.linalg.Vec3f;
-import gleem.linalg.*;
-import javax.media.opengl.*;
-import javax.media.opengl.awt.*;
+import java.awt.event.MouseAdapter;
+import java.awt.event.MouseEvent;
+import java.awt.event.MouseMotionAdapter;
+
+import javax.media.opengl.GL2;
+import javax.media.opengl.GL2ES1;
+import javax.media.opengl.GLAutoDrawable;
+import javax.media.opengl.GLEventListener;
+import javax.media.opengl.awt.AWTGLAutoDrawable;
/** <P> This is an application-level class, not part of the
manipulator hierarchy. It is an example of how you might integrate
@@ -89,29 +96,31 @@ public class ExaminerViewer {
private int lastY;
/** Camera parameters */
- private float minFocalDist = 1.0f;
- private Vec3f dolly = new Vec3f(0, 0, 10); // Amount we have "backed up" from focal point
- private Vec3f center = new Vec3f(0, 0, 0); // Position of focal point in world coordinates
+ private final float minFocalDist = 1.0f;
+ private final Vec3f dolly = new Vec3f(0, 0, 10); // Amount we have "backed up" from focal point
+ private final Vec3f center = new Vec3f(0, 0, 0); // Position of focal point in world coordinates
private Rotf orientation = new Rotf();
private Vec3f upVector = null;
private float rotateSpeed = 1.0f;
- private float minRotateSpeed = 0.0001f;
+ private final float minRotateSpeed = 0.0001f;
private float dollySpeed = 2.0f;
- private float minDollySpeed = 0.0001f;
+ private final float minDollySpeed = 0.0001f;
private float zNear = 1.0f;
private float zFar = 100.0f;
private float vertFOVScale = 1.0f;
- private CameraParameters params = new CameraParameters();
+ private final CameraParameters params = new CameraParameters();
/** Our bounding sphere provider (for viewAll()) */
private BSphereProvider provider;
- private MouseMotionAdapter mouseMotionListener = new MouseMotionAdapter() {
- public void mouseDragged(MouseEvent e) {
+ private final MouseMotionAdapter mouseMotionListener = new MouseMotionAdapter() {
+ @Override
+ public void mouseDragged(MouseEvent e) {
motionMethod(e, e.getX(), e.getY());
}
- public void mouseMoved(MouseEvent e) {
+ @Override
+ public void mouseMoved(MouseEvent e) {
if (interactionUnderway && iOwnInteraction) {
// Hack for AWT behavior where Ctrl + Alt + Left mouse button is treated
// as motion instead of drag
@@ -122,21 +131,27 @@ public class ExaminerViewer {
}
};
- private MouseAdapter mouseListener = new MouseAdapter() {
- public void mousePressed(MouseEvent e) {
+ private final MouseAdapter mouseListener = new MouseAdapter() {
+ @Override
+ public void mousePressed(MouseEvent e) {
mouseMethod(e, e.getModifiersEx(), true, e.getX(), e.getY());
}
- public void mouseReleased(MouseEvent e) {
+ @Override
+ public void mouseReleased(MouseEvent e) {
mouseMethod(e, e.getModifiersEx(), false, e.getX(), e.getY());
}
};
- private GLEventListener glListener = new GLEventListener() {
- public void init(GLAutoDrawable drawable) {}
- public void display(GLAutoDrawable drawable) {}
- public void dispose(GLAutoDrawable drawable) { }
- public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
+ private final GLEventListener glListener = new GLEventListener() {
+ @Override
+ public void init(GLAutoDrawable drawable) {}
+ @Override
+ public void display(GLAutoDrawable drawable) {}
+ @Override
+ public void dispose(GLAutoDrawable drawable) { }
+ @Override
+ public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) {
reshapeMethod(width, height);
}
public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) {}
@@ -170,7 +185,7 @@ public class ExaminerViewer {
this.window = null;
this.provider = null;
}
-
+
/** Call this at the end of your display() method to cause the
Modelview matrix to be recomputed for the next frame. */
public void update(GL2 gl) {
@@ -377,8 +392,8 @@ public class ExaminerViewer {
button1Down = false;
button2Down = false;
- int xSize = window.getWidth();
- int ySize = window.getHeight();
+ int xSize = window.getSurfaceWidth();
+ int ySize = window.getSurfaceHeight();
params.setOrientation(orientation);
params.setPosition(computePosition(new Vec3f()));
params.setForwardDirection(Vec3f.NEG_Z_AXIS);
@@ -395,7 +410,7 @@ public class ExaminerViewer {
} else {
int dx = x - lastX;
int dy = y - lastY;
-
+
lastX = x;
lastY = y;
@@ -412,7 +427,7 @@ public class ExaminerViewer {
(button2Down && !button1Down && !button3Down);
boolean doZoom =
(button3Down && !button1Down && !button2Down);
-
+
// Hack to allow us to use Ctrl + Alt + LMB to translate so
// that we can do that gesture on the trackpad
if (e.isControlDown() && (doRotation || doZoom ||