X-Git-Url: http://git.megacz.com/?p=anneal.git;a=blobdiff_plain;f=src%2Fedu%2Fberkeley%2Fqfat%2Fgeom%2FSegment.java;h=5f460517d92c54a90f4bfffc55592fe77ad601dc;hp=8a1febd7010271e18e85762d1a248d2d36c84836;hb=0e80eb500d944f8ad1f3a9e2d296d9a4cbcd7e25;hpb=40b6b99bd4b0bd6041b8ab94a22201faab23ed90 diff --git a/src/edu/berkeley/qfat/geom/Segment.java b/src/edu/berkeley/qfat/geom/Segment.java index 8a1febd..5f46051 100644 --- a/src/edu/berkeley/qfat/geom/Segment.java +++ b/src/edu/berkeley/qfat/geom/Segment.java @@ -9,6 +9,15 @@ public class Segment implements HasBoundingBox { public Segment(Point p1, Point p2) { this.p1 = p1; this.p2 = p2; } + public int hashCode() { return p1.hashCode() ^ p2.hashCode(); } + public boolean equals(Object o) { + if (o==null || !(o instanceof Segment)) return false; + Segment seg = (Segment)o; + if (seg.p1.equals(p1) && seg.p2.equals(p2)) return true; + if (seg.p2.equals(p1) && seg.p1.equals(p2)) return true; + return false; + } + public float getMaxX() { return Math.max(p1.x, p2.x); } public float getMinX() { return Math.min(p1.x, p2.x); } public float getMaxY() { return Math.max(p1.y, p2.y); } @@ -16,4 +25,8 @@ public class Segment implements HasBoundingBox { public float getMaxZ() { return Math.max(p1.z, p2.z); } public float getMinZ() { return Math.min(p1.z, p2.z); } + public double distance(Point p) { + throw new RuntimeException("not yet implemented"); + } + }