import javax.media.opengl.glu.*;
/** point in 3-space; immutable */
-public final class Point extends HasPoint implements HasBoundingBox {
+public final class Point implements HasBoundingBox, AffineConstraint, HasPoint {
public static final Point ZERO = new Point(0,0,0);
public float getMinY() { return y; }
public float getMaxZ() { return z; }
public float getMinZ() { return z; }
+
+ public Point getProjection(Point p) { return this; }
+ public AffineConstraint intersect(AffineConstraint c, float epsilon) {
+ 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); }
+
}