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); }