public static final float EPSILON = (float)0.0001;
public static final Random random = new Random();
- private PointSet<Vert> vertices = new PointSet<Vert>();
-
- public int size() { return vertices.size(); }
- public Iterable<Vert> vertices() { return vertices; }
-
- public Iterable<E> edges() {
- return
- new Iterable<E>() {
- public Iterator<E> iterator() {
- // HACK
- HashSet<E> hse = new HashSet<E>();
- for(T t : Mesh.this) {
- hse.add(t.e1());
- hse.add(t.e2());
- hse.add(t.e3());
- hse.add(t.e1().pair);
- hse.add(t.e2().pair);
- hse.add(t.e3().pair);
- }
- return hse.iterator();
- } };
- }
-
- public Iterator<T> iterator() {
- /*
- for(Vert v : vertices)
- if (v.e != null && v.e.t != null)
- return new FaceIterator(v);
- return new FaceIterator();
- */
- return ts.iterator();
- }
-
public HashSet<T> ts = new HashSet<T>();
public RTree<T> tris = new RTree<T>();
-
public Mesh score_against = null;
public double score = 0;
public float score() { return (float)score; }
-
public int numedges = 0;
public float avgedge = 0;
+ private PointSet<Vert> vertices = new PointSet<Vert>();
+
+ public int size() { return vertices.size(); }
+ public Iterable<Vert> vertices() { return vertices; }
+
+ public Iterator<T> iterator() {
+ return tris.iterator();
+ }
public void rebindPoints() {
// unbind all points
public void glVertices(GL gl) {
+ /*
if (e1().bind_to.set.size() == 0) return;
if (e2().bind_to.set.size() == 0) return;
if (e3().bind_to.set.size() == 0) return;
+ */
norm().glNormal(gl);
p1().glVertex(gl);