checkpoint
authoradam <adam@megacz.com>
Wed, 5 Dec 2007 05:35:37 +0000 (21:35 -0800)
committeradam <adam@megacz.com>
Wed, 5 Dec 2007 05:35:37 +0000 (21:35 -0800)
darcs-hash:20071205053537-5007d-a24be18ffd14c7128fb36436d053315eea805cea.gz

src/edu/berkeley/qfat/Mesh.java
src/edu/berkeley/qfat/geom/PointSet.java

index c00458c..8592d8a 100644 (file)
@@ -97,43 +97,8 @@ public class Mesh implements Iterable<Mesh.T> {
         for(Vert v : set) v.transform(m);
     }
 
-    public Vec diagonal() {
-        float min_x = Float.MAX_VALUE;
-        float min_y = Float.MAX_VALUE;
-        float min_z = Float.MAX_VALUE;
-        float max_x = Float.MIN_VALUE;
-        float max_y = Float.MIN_VALUE;
-        float max_z = Float.MIN_VALUE;
-        for(Point p : verts.keySet()) {
-            if (p.x < min_x) min_x = p.x;
-            if (p.y < min_y) min_y = p.y;
-            if (p.z < min_z) min_z = p.z;
-            if (p.x > max_x) max_x = p.x;
-            if (p.y > max_y) max_y = p.y;
-            if (p.z > max_z) max_z = p.z;
-        }
-        return new Vec(max_x - min_x, max_y - min_y, max_z - min_z);
-    }
-
-    public Point centroid() {
-        float min_x = Float.MAX_VALUE;
-        float min_y = Float.MAX_VALUE;
-        float min_z = Float.MAX_VALUE;
-        float max_x = Float.MIN_VALUE;
-        float max_y = Float.MIN_VALUE;
-        float max_z = Float.MIN_VALUE;
-        for(Point p : verts.keySet()) {
-            if (p.x < min_x) min_x = p.x;
-            if (p.y < min_y) min_y = p.y;
-            if (p.z < min_z) min_z = p.z;
-            if (p.x > max_x) max_x = p.x;
-            if (p.y > max_y) max_y = p.y;
-            if (p.z > max_z) max_z = p.z;
-        }
-        return new Point((float)(max_x + min_x)/2,
-                     (float)(max_y + min_y)/2,
-                     (float)(max_z + min_z)/2);
-    }
+    public Vec diagonal() { return pointset.diagonal(); }
+    public Point centroid() { return pointset.centroid(); }
 
     public float volume() {
         double total = 0;
index 841d781..3b70118 100644 (file)
@@ -59,4 +59,43 @@ public class PointSet<V extends HasPoint> implements Iterable<V> {
         }
         return (V)results[0];
     }
+
+
+    public Vec diagonal() {
+        float min_x = Float.MAX_VALUE;
+        float min_y = Float.MAX_VALUE;
+        float min_z = Float.MAX_VALUE;
+        float max_x = Float.MIN_VALUE;
+        float max_y = Float.MIN_VALUE;
+        float max_z = Float.MIN_VALUE;
+        for(Point p : exact.keySet()) {
+            if (p.x < min_x) min_x = p.x;
+            if (p.y < min_y) min_y = p.y;
+            if (p.z < min_z) min_z = p.z;
+            if (p.x > max_x) max_x = p.x;
+            if (p.y > max_y) max_y = p.y;
+            if (p.z > max_z) max_z = p.z;
+        }
+        return new Vec(max_x - min_x, max_y - min_y, max_z - min_z);
+    }
+
+    public Point centroid() {
+        float min_x = Float.MAX_VALUE;
+        float min_y = Float.MAX_VALUE;
+        float min_z = Float.MAX_VALUE;
+        float max_x = Float.MIN_VALUE;
+        float max_y = Float.MIN_VALUE;
+        float max_z = Float.MIN_VALUE;
+        for(Point p : exact.keySet()) {
+            if (p.x < min_x) min_x = p.x;
+            if (p.y < min_y) min_y = p.y;
+            if (p.z < min_z) min_z = p.z;
+            if (p.x > max_x) max_x = p.x;
+            if (p.y > max_y) max_y = p.y;
+            if (p.z > max_z) max_z = p.z;
+        }
+        return new Point((float)(max_x + min_x)/2,
+                     (float)(max_y + min_y)/2,
+                     (float)(max_z + min_z)/2);
+    }
 }