checkpoint
[anneal.git] / src / edu / berkeley / qfat / geom / Vec.java
index c601b15..bc10a34 100644 (file)
@@ -1,5 +1,6 @@
 package edu.berkeley.qfat.geom;
 import javax.media.opengl.*;
 package edu.berkeley.qfat.geom;
 import javax.media.opengl.*;
+import javax.media.opengl.glu.*;
 
 /** vector in 3-space; immutable */
 public final class Vec {
 
 /** vector in 3-space; immutable */
 public final class Vec {
@@ -9,6 +10,7 @@ public final class Vec {
     public Vec(Point p1, Point p2) { this(p2.x-p1.x, p2.y-p1.y, p2.z-p1.z); }
     public Vec cross(Vec v) { return new Vec(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); }
     public Vec plus(Vec v) { return new Vec(x+v.x, y+v.y, z+v.z); }
     public Vec(Point p1, Point p2) { this(p2.x-p1.x, p2.y-p1.y, p2.z-p1.z); }
     public Vec cross(Vec v) { return new Vec(y*v.z-z*v.y, z*v.x-x*v.z, x*v.y-y*v.x); }
     public Vec plus(Vec v) { return new Vec(x+v.x, y+v.y, z+v.z); }
+    public Point plus(Point p) { return p.plus(this); }
     public Vec minus(Vec v) { return new Vec(x-v.x, y-v.y, z-v.z); }
     public Vec norm() { return mag()==0 ? this : div(mag()); }
     public float mag() { return (float)Math.sqrt(x*x+y*y+z*z); }
     public Vec minus(Vec v) { return new Vec(x-v.x, y-v.y, z-v.z); }
     public Vec norm() { return mag()==0 ? this : div(mag()); }
     public float mag() { return (float)Math.sqrt(x*x+y*y+z*z); }