import javax.media.opengl.*;
/** any object associated with a specific point in 3D space */
-public abstract class HasQuadric extends HasPoint {
+public abstract class HasQuadric extends HasBindingGroup implements HasPoint {
public Matrix errorQuadric() { return quadric; }
public boolean quadricStale = false;
nearest_in_other_mesh.computeError();
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(); }
}
import javax.media.opengl.*;
/** any object associated with a specific point in 3D space */
-public abstract class HasPoint extends edu.berkeley.qfat.bind.HasBindingGroup implements HasBoundingBox {
- public abstract Point getPoint();
- 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 String toString() { return getPoint().toString(); }
+public interface HasPoint extends HasBoundingBox {
+ public Point getPoint();
}
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);
return new AffineConstraint.Nothing();
}
public AffineConstraint multiply(Matrix m) { return m.times(this); }
+
}