checkpoint
[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 class All implements 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     }
16
17     public static class Nothing implements AffineConstraint {
18         public Point getProjection(Point p) { return null; }
19         public AffineConstraint intersect(AffineConstraint c, float epsilon) { return this; }
20         public AffineConstraint multiply(Matrix m) { return this; }
21     }
22
23 }