@Override public boolean equals(Object o) { if (!(o instanceof GeoExactCircle)) return false; GeoExactCircle other = (GeoExactCircle) o; return super.equals(other) && other.center.equals(center) && other.radius == radius && other.actualAccuracy == actualAccuracy; }
@Override public int getRelationship(GeoShape geoShape) { if (circlePlane == null) { //same as GeoWorld if (geoShape.getEdgePoints().length > 0) { return WITHIN; } return OVERLAPS; } return super.getRelationship(geoShape); }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + center.hashCode(); long temp = Double.doubleToLongBits(cutoffAngle); result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; }
@Override public void getBounds(Bounds bounds) { super.getBounds(bounds); if (circlePlane == null) { // Entire world; should already be covered return; } bounds.addPoint(center); bounds.addPlane(planetModel, circlePlane); }
@Override public void getBounds(Bounds bounds) { super.getBounds(bounds); bounds.addPoint(center); for (final CircleSlice slice : circleSlices) { bounds.addPlane(planetModel, slice.circlePlane, slice.plane1, slice.plane2); for (final GeoPoint point : slice.notableEdgePoints) { bounds.addPoint(point); } } }
@Override public int hashCode() { int result = super.hashCode(); result = 31 * result + center.hashCode(); long temp = Double.doubleToLongBits(radius); result = 31 * result + (int) (temp ^ (temp >>> 32)); temp = Double.doubleToLongBits(actualAccuracy); result = 31 * result + (int) (temp ^ (temp >>> 32)); return result; }
@Override public boolean equals(Object o) { if (!(o instanceof GeoStandardCircle)) return false; GeoStandardCircle other = (GeoStandardCircle) o; return super.equals(other) && other.center.equals(center) && other.cutoffAngle == cutoffAngle; }