X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FPoint.java;h=f011243748bee0ff0ba919050183ac67a84a4a54;hp=bb149bed08f9d2c3f3611c591e7ad5ca96e8fa6d;hb=00235327934dbc5ffaf5b09cbda538ee0d3686e8;hpb=eabe4f7acd947415f183290dc3269b2502a25a1c diff --git a/src/edu/berkeley/qfat/geom/Point.java b/src/edu/berkeley/qfat/geom/Point.java index bb149be..f011243 100644 --- a/src/edu/berkeley/qfat/geom/Point.java +++ b/src/edu/berkeley/qfat/geom/Point.java @@ -3,7 +3,7 @@ import javax.media.opengl.*; import javax.media.opengl.glu.*; /** point in 3-space; immutable */ -public final class Point extends HasPoint implements HasBoundingBox, AffineConstraint { +public final class Point implements HasBoundingBox, AffineConstraint, HasPoint { public static final Point ZERO = new Point(0,0,0); @@ -36,10 +36,12 @@ public final class Point extends HasPoint implements HasBoundingBox, AffineConst public Point getProjection(Point p) { return this; } public AffineConstraint intersect(AffineConstraint c, float epsilon) { - if (c.getProjection(this).distance(this) <= epsilon) return this; - System.err.println("off by: " + c.getProjection(this).distance(this)); - return new AffineConstraint.Nothing(); + Point p2 = c.getProjection(this); + if (p2==null) return AffineConstraint.NONE; + if (p2.distance(this) <= epsilon) return this; + return AffineConstraint.NONE; } public AffineConstraint multiply(Matrix m) { return m.times(this); } + }