X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FPlane.java;h=5f5d99078d6b4e2b94b37c1eba6076a31fa0be86;hp=1789e55aee635d8773cdff9b74963f8cfce8a9d3;hb=5dc5f8e70f3e4088f0f787e4c5e94d95c7e4c95f;hpb=8ac32254301e142a93899997b5580696d515a8a0 diff --git a/src/edu/berkeley/qfat/geom/Plane.java b/src/edu/berkeley/qfat/geom/Plane.java index 1789e55..5f5d990 100644 --- a/src/edu/berkeley/qfat/geom/Plane.java +++ b/src/edu/berkeley/qfat/geom/Plane.java @@ -1,7 +1,7 @@ package edu.berkeley.qfat.geom; import javax.media.opengl.*; -public class Plane { +public class Plane implements AffineConstraint { // FIXME: could be given by // ax+by+cz=d @@ -14,6 +14,11 @@ public class Plane { this.dvalue = p.x*this.norm.x+p.y*this.norm.y+p.z*this.norm.z; } + /** provided at least one of a,b,c is nonzero, return the Plane representing ax+by+cz=d */ + public Plane(float a, float b, float c, float d) { + throw new RuntimeException("not implemented yet"); + } + public Point intersect(Plane p1, Plane p2) { Plane p3 = this; float z = p1.norm.dot(p2.norm.cross(p3.norm)); @@ -24,4 +29,11 @@ public class Plane { return Point.ZERO.plus(v1.plus(v2).plus(v3).times(1/z)); } + public Point getProjection(Point p) { + throw new RuntimeException("not implemented yet"); + } + + public AffineConstraint intersect(AffineConstraint c, float epsilon) { + throw new RuntimeException("not implemented yet"); + } }