checkpoint
authoradam <adam@megacz.com>
Mon, 30 Jun 2008 04:40:38 +0000 (21:40 -0700)
committeradam <adam@megacz.com>
Mon, 30 Jun 2008 04:40:38 +0000 (21:40 -0700)
darcs-hash:20080630044038-5007d-c95737e6e0d2a88d13dbfacfe83d397f41a3a07e.gz

src/edu/berkeley/qfat/InteractiveMeshViewer.java
src/edu/berkeley/qfat/Main.java
src/edu/berkeley/qfat/MeshViewer.java

index ed23803..e024d04 100644 (file)
@@ -11,27 +11,36 @@ import java.util.*;
 import edu.berkeley.qfat.geom.*;
 import edu.berkeley.qfat.geom.Point;
 
 import edu.berkeley.qfat.geom.*;
 import edu.berkeley.qfat.geom.Point;
 
-public class InteractiveMeshViewer extends MeshViewer {
+public class InteractiveMeshViewer extends JPanel {
 
     public Mesh tile;
     public Mesh goal;
 
     public Mesh tile;
     public Mesh goal;
+
+    private MeshViewer mv;
+
     public InteractiveMeshViewer(JFrame f) {
     public InteractiveMeshViewer(JFrame f) {
-        super(f);
+        mv = new MeshViewer();
+        setLayout(new BorderLayout());
+        this.add(mv, BorderLayout.CENTER);
         setTile(new Mesh(false));
         setGoal(new Mesh(false));
     }
         setTile(new Mesh(false));
         setGoal(new Mesh(false));
     }
+    public void repaint() {
+        if (mv != null) mv.repaint();
+    }
+
 
     public void setTile(Mesh tile) {
 
     public void setTile(Mesh tile) {
-        removeMesh(this.tile);
+        mv.removeMesh(this.tile);
         this.tile = tile;
         this.tile = tile;
-        addMesh(this.tile);
+        mv.addMesh(this.tile);
     }
     public void setGoal(Mesh goal) {
     }
     public void setGoal(Mesh goal) {
-        removeMesh(this.goal);
+        mv.removeMesh(this.goal);
         this.goal = goal;
         goal.option_selectable = false;
         goal.option_wireframe = true;
         this.goal = goal;
         goal.option_selectable = false;
         goal.option_wireframe = true;
-        addMesh(this.goal);
+        mv.addMesh(this.goal);
     }
 
     public synchronized void dump() {
     }
 
     public synchronized void dump() {
@@ -75,7 +84,7 @@ public class InteractiveMeshViewer extends MeshViewer {
     public    int vertss;
 
     public void keyPressed(KeyEvent e)  {
     public    int vertss;
 
     public void keyPressed(KeyEvent e)  {
-        super.keyPressed(e);
+        //super.keyPressed(e);
         switch(e.getKeyCode()) {
             case KeyEvent.VK_SPACE: breaks++; force = true; break;
             case KeyEvent.VK_UP: temp = temp * 2; break;
         switch(e.getKeyCode()) {
             case KeyEvent.VK_SPACE: breaks++; force = true; break;
             case KeyEvent.VK_UP: temp = temp * 2; break;
index 5dbba74..75b3f12 100644 (file)
@@ -350,6 +350,7 @@ public class Main extends InteractiveMeshViewer {
         JFrame f = new JFrame();
         f.setLayout(new BorderLayout());
         Main main = new Main(f);
         JFrame f = new JFrame();
         f.setLayout(new BorderLayout());
         Main main = new Main(f);
+        f.add(main, BorderLayout.CENTER);
         f.setJMenuBar(main.new MyMenuBar());
         f.pack();
         f.show();
         f.setJMenuBar(main.new MyMenuBar());
         f.pack();
         f.show();
index c344bca..7a9fcd5 100644 (file)
@@ -11,26 +11,25 @@ import java.util.*;
 import edu.berkeley.qfat.geom.*;
 import edu.berkeley.qfat.geom.Point;
 
 import edu.berkeley.qfat.geom.*;
 import edu.berkeley.qfat.geom.Point;
 
-public class MeshViewer implements GLEventListener, MouseListener, MouseMotionListener, KeyListener, MouseWheelListener {
+public class MeshViewer extends JPanel implements GLEventListener, MouseListener, MouseMotionListener, KeyListener, MouseWheelListener {
 
 
-    Mesh.Vertex closest = null;
+    private float tz = 0;
+    private float anglex = 0;
+    private float angley = 0;
 
 
-    private int      mousex;
-    private int      mousey;
-    private Matrix   projection = null;
-    private Point    clickPoint = null;
-    private GLCanvas glcanvas;
-    private boolean  updateVisibilities = false;
+    private Mesh.Vertex closest = null;
+    private int         mousex;
+    private int         mousey;
+    private Matrix      projection = null;
+    private Point       clickPoint = null;
+    private GLCanvas    glcanvas;
+    private boolean     updateVisibilities = false;
 
     private HashSet<Mesh> meshes = new HashSet<Mesh>();
 
     public synchronized void addMesh(Mesh m) { meshes.add(m); }
     public synchronized void removeMesh(Mesh m) { meshes.remove(m); }
 
 
     private HashSet<Mesh> meshes = new HashSet<Mesh>();
 
     public synchronized void addMesh(Mesh m) { meshes.add(m); }
     public synchronized void removeMesh(Mesh m) { meshes.remove(m); }
 
-    float tz = 0;
-    float anglex = 0;
-    float angley = 0;
-
     public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { }
     public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { }
 
     public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { }
     public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { }
 
@@ -72,7 +71,7 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
     }
 
     public synchronized final void display(GLAutoDrawable drawable) {
     }
 
     public synchronized final void display(GLAutoDrawable drawable) {
-        glcanvas.setSize(glcanvas.getParent().getWidth(), glcanvas.getParent().getHeight() - 100);
+        glcanvas.setSize(glcanvas.getParent().getWidth(), glcanvas.getParent().getHeight());
 
         GL gl = glcanvas.getGL();//drawable.getGL();
         GLU glu = new GLU();
 
         GL gl = glcanvas.getGL();//drawable.getGL();
         GLU glu = new GLU();
@@ -221,10 +220,11 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
         mousey = e.getY();
     }
 
         mousey = e.getY();
     }
 
-    public MeshViewer(JFrame f) {
+    public MeshViewer() {
         glcanvas = new GLCanvas();
         glcanvas.addGLEventListener(this);
         glcanvas = new GLCanvas();
         glcanvas.addGLEventListener(this);
-        f.add(glcanvas, BorderLayout.CENTER);
+        setLayout(new BorderLayout());
+        this.add(glcanvas, BorderLayout.CENTER);
         glcanvas.addMouseListener(this);
         glcanvas.addMouseMotionListener(this);
         glcanvas.addMouseWheelListener(this);
         glcanvas.addMouseListener(this);
         glcanvas.addMouseMotionListener(this);
         glcanvas.addMouseWheelListener(this);
@@ -232,7 +232,7 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi
     }
 
     public void repaint() {
     }
 
     public void repaint() {
-        glcanvas.repaint();
+        if (glcanvas != null) glcanvas.repaint();
     }
 
 }
\ No newline at end of file
     }
 
 }
\ No newline at end of file