From: adam Date: Sun, 29 Jun 2008 23:56:55 +0000 (-0700) Subject: checkpoint X-Git-Url: http://git.megacz.com/?p=anneal.git;a=commitdiff_plain;h=689c6bb1f140c8aeecec459c4c85264b4d3c7255 checkpoint darcs-hash:20080629235655-5007d-902336f1d3788ca9d3aecf222eb29df29cf4cd0a.gz --- diff --git a/src/edu/berkeley/qfat/InteractiveMeshViewer.java b/src/edu/berkeley/qfat/InteractiveMeshViewer.java new file mode 100644 index 0000000..10ec045 --- /dev/null +++ b/src/edu/berkeley/qfat/InteractiveMeshViewer.java @@ -0,0 +1,18 @@ +package edu.berkeley.qfat; +import java.io.*; +import java.nio.*; +import java.awt.*; +import java.awt.event.*; +import javax.swing.*; +import javax.media.opengl.*; +import javax.media.opengl.glu.*; +import com.sun.opengl.util.*; +import java.util.*; +import edu.berkeley.qfat.geom.*; +import edu.berkeley.qfat.geom.Point; + +public class InteractiveMeshViewer extends MeshViewer { + + public InteractiveMeshViewer(JFrame f) { super(f); } + +} \ No newline at end of file diff --git a/src/edu/berkeley/qfat/Main.java b/src/edu/berkeley/qfat/Main.java index 95cd989..2a1584e 100644 --- a/src/edu/berkeley/qfat/Main.java +++ b/src/edu/berkeley/qfat/Main.java @@ -50,7 +50,7 @@ import edu.berkeley.qfat.geom.Polygon; // FIXME: re-orient goal (how?) -public class Main extends MeshViewer { +public class Main extends InteractiveMeshViewer { public static int verts = 1; diff --git a/src/edu/berkeley/qfat/MeshViewer.java b/src/edu/berkeley/qfat/MeshViewer.java index b4d958a..2b6ba8e 100644 --- a/src/edu/berkeley/qfat/MeshViewer.java +++ b/src/edu/berkeley/qfat/MeshViewer.java @@ -354,82 +354,10 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi gl.glShadeModel(GL.GL_SMOOTH); gl.glEnable(GL.GL_LIGHTING); gl.glDrawBuffer(GL.GL_FRONT); - - - - /* - IntBuffer selectionBuffer = - ByteBuffer.allocateDirect(4*10000).order(ByteOrder.nativeOrder()).asIntBuffer(); - gl.glSelectBuffer(selectionBuffer.capacity(), selectionBuffer); - gl.glInitNames(); - gl.glRenderMode(GL.GL_SELECT); - draw(gl, true, safeTriangles); - int hits = gl.glRenderMode(GL.GL_RENDER); - synchronized(safeTriangles) { - for(Mesh.T t : safeTriangles) { - t.occluded = true; - } - processHits(hits, selectionBuffer); - } - */ } Mesh.Vertex closest = null; Matrix projection = null; - // I copied this method without changes from the mentioned base class. - // It extracts the data in the selection buffer and writes it on the console. - public void processHits(int hits, IntBuffer buffer) { - /* - System.out.println("---------------------------------"); - System.out.println(" HITS: " + hits); - */ - int offset = 0; - int names; - float z1, z2; - for (int i = 0; i < hits; i++) { - /* - System.out.println("- - - - - - - - - - - -"); - System.out.println(" hit: " + (i + 1)); - */ - names = buffer.get(offset); - offset++; - z1 = (float) buffer.get(offset) / 0x7fffffff; - offset++; - z2 = (float) buffer.get(offset) / 0x7fffffff; - offset++; - /* - System.out.println(" number of names: " + names); - System.out.println(" z1: " + z1); - System.out.println(" z2: " + z2); - System.out.println(" names: "); - */ - - for (int j = 0; j < names; j++) { - int who = buffer.get(offset); - for(Mesh.T t : safeTriangles) { - if (t.serial==who) { - t.occluded = false; - } - } - /* - System.out.print(" " + who); - if (j == (names - 1)) { - System.out.println("<-"); - } else { - System.out.println(); - } - */ - offset++; - } - /* - System.out.println("- - - - - - - - - - - -"); - */ - } - /* - System.out.println("--------------------------------- "); - */ - } - protected HashSet safeTriangles = new HashSet(); private void draw(GL gl, boolean triangles, Iterable tris) { draw(gl, triangles, tris, Matrix.ONE); } @@ -512,8 +440,6 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi } } - - //private JTextArea ocanvas = new JTextArea(); private JFrame f; private GLCanvas glcanvas; public MeshViewer(JFrame f) { @@ -532,7 +458,4 @@ public class MeshViewer implements GLEventListener, MouseListener, MouseMotionLi public void repaint() { glcanvas.repaint(); } - - - } \ No newline at end of file