From 159115cba4e3a9335735693b71cd4a8ed169cdb0 Mon Sep 17 00:00:00 2001 From: Obique PSWG Date: Sun, 31 Jan 2016 15:36:47 -0600 Subject: [PATCH] Added equals and hashCode functions to Point3D --- src/resources/Point3D.java | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/src/resources/Point3D.java b/src/resources/Point3D.java index 36d59e7ed..177510436 100644 --- a/src/resources/Point3D.java +++ b/src/resources/Point3D.java @@ -110,6 +110,22 @@ public class Point3D implements Encodable, Serializable { y = Packet.getFloat(data); z = Packet.getFloat(data); } + + public boolean equals(Object o) { + if (!(o instanceof Point3D)) + return false; + if (Math.abs(((Point3D) o).getX()-getX()) > 1E-7) + return false; + if (Math.abs(((Point3D) o).getY()-getY()) > 1E-7) + return false; + if (Math.abs(((Point3D) o).getZ()-getZ()) > 1E-7) + return false; + return true; + } + + public int hashCode() { + return Double.hashCode(getX()) ^ Double.hashCode(getY()) ^ Double.hashCode(getZ()); + } public String toString() { return String.format("Point3D[%.2f, %.2f, %.2f]", x, y, z);