public float error() { return (float)error; }
public int size() { return vertices.size(); }
+ public int numTriangles() { return triangles.size(); }
public Iterable<Vertex> vertices() { return vertices; }
public Iterator<T> iterator() { return triangles.iterator(); }
public E(Point v1, Point v2) {
if (vertices.get(v1) != null) throw new Error();
if (vertices.get(v2) != null) throw new Error();
+ if (v1.equals(v2)) throw new Error("attempt to create a zero-length edge!");
this.v1 = new Vertex(v1);
this.v2 = new Vertex(v2);
this.prev = this.next = this.pair = new E(this, this, this);