"points_per_second=" +
(count*1000)/((double)(System.currentTimeMillis()-then)));
- tile.recomputeAllFundamentalQuadrics();
+ for(Mesh.Vertex p : tile.vertices()) p.recomputeFundamentalQuadric();
repaint();
- goal.recomputeAllFundamentalQuadrics();
+ for(Mesh.Vertex p : goal.vertices()) p.recomputeFundamentalQuadric();
repaint();
-
- synchronized(this) {
+ synchronized(safeTriangles) {
safeTriangles.clear();
for(Mesh.T t : tile) if (t.shouldBeDrawn()) safeTriangles.add(t);
}
}
}
- public void unApplyQuadricToNeighborAll() {
- for(Vertex p : vertices)
- p.unApplyQuadricToNeighbor();
- }
- public void recomputeAllFundamentalQuadrics() {
- for(Vertex p : vertices)
- p.recomputeFundamentalQuadric();
- }
- public void applyQuadricToNeighborAll() {
- for(Vertex p : vertices)
- p.applyQuadricToNeighbor();
- }
-
public void transform(Matrix m) {
ArrayList<Vertex> set = new ArrayList<Vertex>();
for(Vertex v : vertices) set.add(v);
protected HashSet<Mesh.T> safeTriangles = new HashSet<Mesh.T>();
- private synchronized void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
+ private void draw(GL gl, boolean triangles, Iterable<Mesh.T> tris) {
float red = 0.0f;
float green = 0.0f;
float blue = 0.0f;
+ synchronized(safeTriangles) {
for(Mesh.T t : tris) {
if (red < 0.15) red = 1.0f;
if (green < 0.15) green = 1.0f;
}
*/
gl.glEnd();
-
+ }
}
}