X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FTriangle.java;h=ddeae34ff179cc09129765eb91575f39422316b1;hp=9db806b45bb43f4c8660664df2e6e3fa447976a8;hb=de2400d58116bd995e73baf7a429e22def1e4067;hpb=9668f77ce3eeed3a393345c357818e1f85b3a637 diff --git a/src/edu/berkeley/qfat/geom/Triangle.java b/src/edu/berkeley/qfat/geom/Triangle.java index 9db806b..ddeae34 100644 --- a/src/edu/berkeley/qfat/geom/Triangle.java +++ b/src/edu/berkeley/qfat/geom/Triangle.java @@ -24,17 +24,10 @@ public abstract class Triangle implements HasBoundingBox { /** issue gl.glVertex() for each of the triangle's points */ public void glVertices(GL gl, Matrix m) { - if (m==null) { - norm().glNormal(gl); - p1().glVertex(gl); - p2().glVertex(gl); - p3().glVertex(gl); - } else { - m.times(norm()).glNormal(gl); - m.times(p1()).glVertex(gl); - m.times(p2()).glVertex(gl); - m.times(p3()).glVertex(gl); - } + (m==null ? norm() : m.times(norm())).glNormal(gl); + (m==null ? p1() : m.times(p1())).glVertex(gl); + (m==null ? p2() : m.times(p2())).glVertex(gl); + (m==null ? p3() : m.times(p3())).glVertex(gl); } /** the triangle's centroid */ @@ -53,22 +46,24 @@ public abstract class Triangle implements HasBoundingBox { return 1/(1+area()/(max*max)); } */ - + /* public float circumcircleRadius() { double a = p1().distance(p2()); double b = p2().distance(p3()); double c = p3().distance(p1()); return (float)((a*b*c)/Math.sqrt((a+b+c)*(b+c-a)*(c+a-b)*(a+b-c))); } - + */ + /* public float shortestEdgeLength() { float a = p1().distance(p2()); float b = p2().distance(p3()); float c = p3().distance(p1()); return Math.min(a, Math.min(b,c)); } - + */ /** a number ranging from 0..1 with 0 being lower quality */ + /* public float quality() { float d = shortestEdgeLength(); float r = circumcircleRadius(); @@ -77,6 +72,7 @@ public abstract class Triangle implements HasBoundingBox { if (ret < 0 || ret > 1) throw new Error("ret="+ret); return ret; } + */ // FIXME: I stole this off the net, and I need to credit whoever wrote it /** decide if the segment from p1-p2 intersects this triangle */