import javax.media.opengl.*;
/**
- * An oriented triangle, defined by three points in clockwise order;
+ * An oriented triangle, defined by three points in order;
* note that the Point objects returned by p1/p2/p3 may vary over time.
*/
public abstract class Triangle implements HasBoundingBox {
}
/** issue gl.glVertex() for each of the triangle's points */
- public void glVertices(GL gl) {
- norm().glNormal(gl);
- p1().glVertex(gl);
- p2().glVertex(gl);
- p3().glVertex(gl);
- }
public void glVertices(GL gl, Matrix m) {
- m.times(norm()).glNormal(gl);
- m.times(p1()).glVertex(gl);
- m.times(p2()).glVertex(gl);
- m.times(p3()).glVertex(gl);
+ 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);
+ }
}
/** the triangle's centroid */