add items to TODO list
[anneal.git] / src / edu / berkeley / qfat / geom / AffineConstraint.java
1 package edu.berkeley.qfat.geom;
2 import javax.media.opengl.*;
3
4 /** a constraint arising from the conjunction of linear equalities */
5 public interface AffineConstraint {
6
7     public Point getProjection(Point p);
8     public AffineConstraint intersect(AffineConstraint c, float epsilon);
9     public AffineConstraint multiply(Matrix m);
10
11     public static final AffineConstraint ALL = new AffineConstraint() {
12             public Point getProjection(Point p) { return p; }
13             public AffineConstraint intersect(AffineConstraint c, float epsilon) { return c; }
14             public AffineConstraint multiply(Matrix m) { return this; }
15             public String toString() { return "[AffineConstraint: ALL]"; }
16         };
17
18     public static final AffineConstraint NONE = new AffineConstraint() {
19             public Point getProjection(Point p) { return null; }
20             public AffineConstraint intersect(AffineConstraint c, float epsilon) { return this; }
21             public AffineConstraint multiply(Matrix m) { return this; }
22             public String toString() { return "[AffineConstraint: NONE]"; }
23         };
24
25 }