public class MeshViewer extends Viewer {
+ public int whichNeighbor = 1;
+
+ public double temp;
+ public boolean tileon = true;
+ public boolean tilemeshon = false;
+ public boolean goalon = true;
+ public boolean anneal = false;
+ public boolean hillclimb = false;
+ public boolean neighbors = false;
+ public boolean neighborsWire = false;
+ public boolean neighborsWireOne = false;
+ public boolean errorNormals = false;
+
+ public boolean force = false;
+ public Matrix[] transforms;
+ public Mesh.Vertex[] points;
+ public int breaks = 0;
+
public int temps;
public int accepts;
public int vertss;
public MeshViewer(JFrame f) { super(f); }
- /**
- * Take care of initialization here.
- */
- public void init(GLAutoDrawable gld) {
- GL gl = gld.getGL();
- gl.glClearColor(0.0f, 0.0f, 0.0f, 1.0f);
- gl.glViewport(0, 0, 500, 300);
- gl.glEnable(GL.GL_DEPTH_TEST);
- gl.glClearDepth(1.0);
- gl.glDepthFunc(GL.GL_LEQUAL);
- gl.glMatrixMode(GL.GL_PROJECTION);
- gl.glLoadIdentity();
- gl.glMatrixMode(GL.GL_MODELVIEW);
-
- float mat_specular[] = { 0.5f, 0.5f, 0.5f, 0.5f };
- float mat_shininess[] = { 50.0f };
- gl.glShadeModel(GL.GL_SMOOTH);
- //gl.glMaterialfv(GL.GL_FRONT, GL.GL_DIFFUSE, mat_specular, 0);
- //gl.glMaterialfv(GL.GL_FRONT, GL.GL_SPECULAR, mat_specular, 0);
- //gl.glMaterialfv(GL.GL_FRONT, GL.GL_AMBIENT, new float[] { 0.3f, 0.3f, 0.3f, 0.3f }, 0);
- //gl.glMaterialfv(GL.GL_FRONT, GL.GL_SHININESS, mat_shininess, 0);
- gl.glLightfv(GL.GL_LIGHT0, GL.GL_POSITION, new float[] { 1.0f, 4.0f, -10.0f, 0.0f }, 0);
- gl.glLightfv(GL.GL_LIGHT1, GL.GL_POSITION, new float[] { -10.0f, 10.0f, 10.0f, 0.0f }, 0);
- gl.glLightfv(GL.GL_LIGHT2, GL.GL_POSITION, new float[] { 10.0f, -10.0f, 10.0f, 0.0f }, 0);
- gl.glLightfv(GL.GL_LIGHT3, GL.GL_POSITION, new float[] { 10.0f, 10.0f, -10.0f, 0.0f }, 0);
- gl.glLightfv(GL.GL_LIGHT4, GL.GL_POSITION, new float[] { -10.0f, 10.0f, -10.0f, 0.0f }, 0);
- gl.glLightfv(GL.GL_LIGHT5, GL.GL_POSITION, new float[] { 10.0f, -10.0f, -10.0f, 0.0f }, 0);
- gl.glEnable(GL.GL_LIGHTING);
- gl.glEnable(GL.GL_LIGHT0);
- /*
- gl.glEnable(GL.GL_LIGHT1);
- gl.glEnable(GL.GL_LIGHT2);
- gl.glEnable(GL.GL_LIGHT3);
- gl.glEnable(GL.GL_LIGHT4);
- gl.glEnable(GL.GL_LIGHT5);
- */
- gl.glColorMaterial(GL.GL_FRONT_AND_BACK, GL.GL_AMBIENT_AND_DIFFUSE);
- gl.glEnable(GL.GL_COLOR_MATERIAL);
-
- display(gld);
- }
- public void reshape(GLAutoDrawable drawable, int x, int y, int width, int height) { }
- public void displayChanged(GLAutoDrawable drawable, boolean modeChanged, boolean deviceChanged) { }
public void _display(GLAutoDrawable drawable, GL gl) {
if (transforms==null) return;
-
-
glcanvas.setSize(f.getWidth(), f.getHeight() - 100);
Graphics2D g = (Graphics2D)f.getGraphics();
g.setColor(Color.black);