X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosPointInt.java;h=a7dd00f7e7e3093914c48bc4d7a1f8be2cd618a4;hb=7c0f66bf64f410415afaff1b5c8e1443512b7a57;hp=e133ae9c81165afde4d98f994b6b951aef83d6f9;hpb=cb23b992be8ba40c97d8988c134a814a13ccd58c;p=fw%2Faltos diff --git a/altoslib/AltosPointInt.java b/altoslib/AltosPointInt.java index e133ae9c..a7dd00f7 100644 --- a/altoslib/AltosPointInt.java +++ b/altoslib/AltosPointInt.java @@ -20,7 +20,19 @@ package org.altusmetrum.altoslib_7; public class AltosPointInt { public int x, y; - public boolean equals(AltosPointInt n) { + public int hashCode() { + return x ^ y; + } + + public boolean equals(Object o) { + if (o == null) + return false; + + if (!(o instanceof AltosPointInt)) + return false; + + AltosPointInt n = (AltosPointInt) o; + return n.x == x && n.y == y; } @@ -28,4 +40,14 @@ public class AltosPointInt { this.x = x; this.y = y; } + + public AltosPointInt(double x, double y) { + this.x = (int) (x + 0.5); + this.y = (int) (y + 0.5); + } + + public AltosPointInt(AltosPointDouble pt_d) { + this.x = (int) (pt_d.x + 0.5); + this.y = (int) (pt_d.y + 0.5); + } }