From: adam Date: Mon, 7 Jul 2008 19:53:11 +0000 (-0700) Subject: checkpoint X-Git-Url: http://git.megacz.com/?p=anneal.git;a=commitdiff_plain;h=d52f92b29c1987b5734c7183a9c01b5660f86482 checkpoint darcs-hash:20080707195311-5007d-ce3a018bcb250abf437c7e5a9214fdb52344bcdf.gz --- diff --git a/src/edu/berkeley/qfat/Mesh.java b/src/edu/berkeley/qfat/Mesh.java index f537429..926a5b7 100644 --- a/src/edu/berkeley/qfat/Mesh.java +++ b/src/edu/berkeley/qfat/Mesh.java @@ -217,10 +217,16 @@ public class Mesh implements Iterable { /** a vertex in the mesh */ - public final class Vertex extends HasQuadric implements Visitor { + public final class Vertex extends HasQuadric implements Visitor, HasPoint { public void bindTo(Matrix bindingMatrix, HasBindingGroup other) { bindTo(bindingMatrix, other, EPSILON); } + public float getMaxX() { return getPoint().getMaxX(); } + public float getMinX() { return getPoint().getMinX(); } + public float getMaxY() { return getPoint().getMaxY(); } + public float getMinY() { return getPoint().getMinY(); } + public float getMaxZ() { return getPoint().getMaxZ(); } + public float getMinZ() { return getPoint().getMinZ(); } public Point p, goodp; public Point oldp; diff --git a/src/edu/berkeley/qfat/bind/BindingGroup.java b/src/edu/berkeley/qfat/bind/BindingGroup.java index 00a7dd7..501fb81 100644 --- a/src/edu/berkeley/qfat/bind/BindingGroup.java +++ b/src/edu/berkeley/qfat/bind/BindingGroup.java @@ -1,6 +1,5 @@ package edu.berkeley.qfat.bind; import edu.berkeley.qfat.geom.*; -import javax.media.opengl.*; import java.util.*; /** @@ -22,7 +21,7 @@ class BindingGroup implements Iterable { */ private HashMap matrices = new HashMap(); - public BindingGroup(T master) { + BindingGroup(T master) { this.master = master; matrices.put(master, Matrix.ONE); } @@ -54,19 +53,19 @@ class BindingGroup implements Iterable { bg.matrices = null; } - public Matrix getMatrix(T t) { return matrices.get(t); } + Matrix getMatrix(T t) { return matrices.get(t); } public Iterator iterator() { return matrices.keySet().iterator(); } /** t1 = getMatrix(t1, t2) * t2 */ - public Matrix getMatrix(T t1, T t2) { + Matrix getMatrix(T t1, T t2) { // t1 = getMatrix(t1) * master // getMatrix(t2)^-1 * t2 = master // t1 = getMatrix(t1) * getMatrix(t2)^-1 * t2 return getMatrix(t1).times(getMatrix(t2).inverse()); } - public AffineConstraint getAffineConstraint(T t) { + AffineConstraint getAffineConstraint(T t) { return constraint.multiply(matrices.get(t)); } @@ -97,7 +96,7 @@ class BindingGroup implements Iterable { matrices = newmatrices; } - public boolean contains(HasBindingGroup t) { + boolean contains(HasBindingGroup t) { return matrices.get((T)t) != null; } } diff --git a/src/edu/berkeley/qfat/bind/HasQuadric.java b/src/edu/berkeley/qfat/bind/HasQuadric.java index 1b13c33..afd2823 100644 --- a/src/edu/berkeley/qfat/bind/HasQuadric.java +++ b/src/edu/berkeley/qfat/bind/HasQuadric.java @@ -3,7 +3,7 @@ import edu.berkeley.qfat.geom.*; import javax.media.opengl.*; /** any object associated with a specific point in 3D space */ -public abstract class HasQuadric extends HasBindingGroup implements HasPoint { +public abstract class HasQuadric extends HasBindingGroup { public Matrix errorQuadric() { return quadric; } public boolean quadricStale = false; @@ -82,10 +82,4 @@ public abstract class HasQuadric extends HasBindingGroup implements HasPoint { nearest_in_other_mesh = null; } - public float getMaxX() { return getPoint().getMaxX(); } - public float getMinX() { return getPoint().getMinX(); } - public float getMaxY() { return getPoint().getMaxY(); } - public float getMinY() { return getPoint().getMinY(); } - public float getMaxZ() { return getPoint().getMaxZ(); } - public float getMinZ() { return getPoint().getMinZ(); } }