public final class Line2D extends java.lang.Object implements Component2D
Line Line2D Construction takes O(n log n) time for sorting and tree construction.
relate() are O(n), but for most practical lines are much faster than brute force.
Component2D.WithinRelation| Modifier and Type | Field and Description |
|---|---|
private double |
maxX
maximum longitude of this geometry's bounding box area
|
private double |
maxY
maximum latitude of this geometry's bounding box area
|
private double |
minX
minimum longitude of this geometry's bounding box area
|
private double |
minY
minimum latitude of this geometry's bounding box area
|
private EdgeTree |
tree
lines represented as a 2-d interval tree.
|
| Modifier | Constructor and Description |
|---|---|
private |
Line2D(Line line) |
private |
Line2D(XYLine line) |
| Modifier and Type | Method and Description |
|---|---|
boolean |
contains(double x,
double y)
relates this component2D with a point
|
static Component2D |
create(Line... lines)
create a Line2D edge tree from provided array of Linestrings
|
static Component2D |
create(XYLine... lines)
create a Line2D edge tree from provided array of Linestrings
|
double |
getMaxX()
max X value for the component
|
double |
getMaxY()
max Y value for the component
|
double |
getMinX()
min X value for the component
|
double |
getMinY()
min Y value for the component
|
PointValues.Relation |
relate(double minX,
double maxX,
double minY,
double maxY)
relates this component2D with a bounding box
|
PointValues.Relation |
relateTriangle(double minX,
double maxX,
double minY,
double maxY,
double ax,
double ay,
double bx,
double by,
double cx,
double cy)
relates this component2D with a triangle
|
Component2D.WithinRelation |
withinTriangle(double minX,
double maxX,
double minY,
double maxY,
double ax,
double ay,
boolean ab,
double bx,
double by,
boolean bc,
double cx,
double cy,
boolean ca)
Compute the within relation of this component2D with a triangle
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitcontainsPoint, disjoint, pointInTriangle, relateTriangle, within, withinTriangleprivate final double minY
private final double maxY
private final double minX
private final double maxX
private final EdgeTree tree
public double getMinX()
Component2DgetMinX in interface Component2Dpublic double getMaxX()
Component2DgetMaxX in interface Component2Dpublic double getMinY()
Component2DgetMinY in interface Component2Dpublic double getMaxY()
Component2DgetMaxY in interface Component2Dpublic boolean contains(double x,
double y)
Component2Dcontains in interface Component2Dpublic PointValues.Relation relate(double minX, double maxX, double minY, double maxY)
Component2Drelate in interface Component2Dpublic PointValues.Relation relateTriangle(double minX, double maxX, double minY, double maxY, double ax, double ay, double bx, double by, double cx, double cy)
Component2DrelateTriangle in interface Component2Dpublic Component2D.WithinRelation withinTriangle(double minX, double maxX, double minY, double maxY, double ax, double ay, boolean ab, double bx, double by, boolean bc, double cx, double cy, boolean ca)
Component2DwithinTriangle in interface Component2Dpublic static Component2D create(Line... lines)
public static Component2D create(XYLine... lines)