public class Rectangle2D
extends java.lang.Object
Modifier and Type | Field and Description |
---|---|
(package private) byte[] |
bbox |
(package private) int |
maxX |
(package private) int |
maxY |
(package private) int |
minX |
(package private) int |
minY |
(package private) byte[] |
west |
Modifier | Constructor and Description |
---|---|
private |
Rectangle2D(double minLat,
double maxLat,
double minLon,
double maxLon) |
Modifier and Type | Method and Description |
---|---|
private static boolean |
bboxContainsPoint(int x,
int y,
int minX,
int maxX,
int minY,
int maxY)
static utility method to check if a bounding box contains a point
|
private static boolean |
bboxContainsTriangle(int ax,
int ay,
int bx,
int by,
int cx,
int cy,
int minX,
int maxX,
int minY,
int maxY)
static utility method to check if a bounding box contains a triangle
|
private static boolean |
boxesAreDisjoint(int aMinX,
int aMaxX,
int aMinY,
int aMaxY,
int bMinX,
int bMaxX,
int bMinY,
int bMaxY)
utility method to check if two boxes are disjoint
|
private static PointValues.Relation |
compareBBoxToRangeBBox(byte[] bbox,
int minXOffset,
int minYOffset,
byte[] minTriangle,
int maxXOffset,
int maxYOffset,
byte[] maxTriangle)
static utility method to compare a bbox with a range of triangles (just the bbox of the triangle collection)
|
boolean |
containsTriangle(int ax,
int ay,
int bx,
int by,
int cx,
int cy)
Checks if the rectangle contains the provided triangle
|
static Rectangle2D |
create(Rectangle rectangle)
Builds a Rectangle2D from rectangle
|
boolean |
crossesDateline() |
private static boolean |
edgeIntersectsBox(int ax,
int ay,
int bx,
int by,
int minX,
int maxX,
int minY,
int maxY)
returns true if the edge (defined by (ax, ay) (bx, by)) intersects the query
|
private boolean |
edgeIntersectsQuery(int ax,
int ay,
int bx,
int by)
returns true if the edge (defined by (ax, ay) (bx, by)) intersects the query
|
private static void |
encode(int minX,
int maxX,
int minY,
int maxY,
byte[] b)
encodes a bounding box into the provided byte array
|
boolean |
equals(java.lang.Object o) |
int |
hashCode() |
boolean |
intersectsTriangle(int aX,
int aY,
int bX,
int bY,
int cX,
int cY)
Checks if the rectangle intersects the provided triangle
|
boolean |
queryContainsPoint(int x,
int y)
Checks if the rectangle contains the provided point
|
private boolean |
queryIntersects(int ax,
int ay,
int bx,
int by,
int cx,
int cy)
returns true if the query intersects the provided triangle (in encoded space)
|
PointValues.Relation |
relateRangeBBox(int minXOffset,
int minYOffset,
byte[] minTriangle,
int maxXOffset,
int maxYOffset,
byte[] maxTriangle)
compare this to a provided rangle bounding box
|
java.lang.String |
toString() |
final byte[] bbox
final byte[] west
final int minX
final int maxX
final int minY
final int maxY
private Rectangle2D(double minLat, double maxLat, double minLon, double maxLon)
public static Rectangle2D create(Rectangle rectangle)
public boolean crossesDateline()
public boolean queryContainsPoint(int x, int y)
public PointValues.Relation relateRangeBBox(int minXOffset, int minYOffset, byte[] minTriangle, int maxXOffset, int maxYOffset, byte[] maxTriangle)
public boolean intersectsTriangle(int aX, int aY, int bX, int bY, int cX, int cY)
public boolean containsTriangle(int ax, int ay, int bx, int by, int cx, int cy)
private static PointValues.Relation compareBBoxToRangeBBox(byte[] bbox, int minXOffset, int minYOffset, byte[] minTriangle, int maxXOffset, int maxYOffset, byte[] maxTriangle)
private static void encode(int minX, int maxX, int minY, int maxY, byte[] b)
private boolean queryIntersects(int ax, int ay, int bx, int by, int cx, int cy)
private boolean edgeIntersectsQuery(int ax, int ay, int bx, int by)
private static boolean bboxContainsPoint(int x, int y, int minX, int maxX, int minY, int maxY)
private static boolean bboxContainsTriangle(int ax, int ay, int bx, int by, int cx, int cy, int minX, int maxX, int minY, int maxY)
private static boolean edgeIntersectsBox(int ax, int ay, int bx, int by, int minX, int maxX, int minY, int maxY)
private static boolean boxesAreDisjoint(int aMinX, int aMaxX, int aMinY, int aMaxY, int bMinX, int bMaxX, int bMinY, int bMaxY)
public boolean equals(java.lang.Object o)
equals
in class java.lang.Object
public int hashCode()
hashCode
in class java.lang.Object
public java.lang.String toString()
toString
in class java.lang.Object