workcraft/CircuitPlugin/src/org/workcraft/plugins/circuit/routing/basic/Point.java
package org.workcraft.plugins.circuit.routing.basic;
public final class Point implements Comparable<Point> {
private final double x;
private final double y;
public Point(double x, double y) {
this.x = x;
this.y = y;
}
@Override
public int hashCode() {
int prime = 31;
int result = 1;
long temp;
temp = Double.doubleToLongBits(getX());
result = prime * result + (int) (temp ^ (temp >>> 32));
temp = Double.doubleToLongBits(getY());
result = prime * result + (int) (temp ^ (temp >>> 32));
return result;
}
@Override
public boolean equals(Object obj) {
if (this == obj) {
return true;
}
if (obj == null) {
return false;
}
if (getClass() != obj.getClass()) {
return false;
}
Point other = (Point) obj;
if (Double.doubleToLongBits(getX()) != Double.doubleToLongBits(other.getX())) {
return false;
}
if (Double.doubleToLongBits(getY()) != Double.doubleToLongBits(other.getY())) {
return false;
}
return true;
}
@Override
public String toString() {
return "Point [x=" + getX() + ", y=" + getY() + "]";
}
public double getX() {
return x;
}
public double getY() {
return y;
}
@Override
public int compareTo(Point o) {
int compare = Double.compare(x, o.x);
if (compare == 0) {
compare = Double.compare(y, o.y);
}
return compare;
}
}