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, wait
containsPoint, disjoint, pointInTriangle, relateTriangle, within, withinTriangle
private final double minY
private final double maxY
private final double minX
private final double maxX
private final EdgeTree tree
public double getMinX()
Component2D
getMinX
in interface Component2D
public double getMaxX()
Component2D
getMaxX
in interface Component2D
public double getMinY()
Component2D
getMinY
in interface Component2D
public double getMaxY()
Component2D
getMaxY
in interface Component2D
public boolean contains(double x, double y)
Component2D
contains
in interface Component2D
public PointValues.Relation relate(double minX, double maxX, double minY, double maxY)
Component2D
relate
in interface Component2D
public PointValues.Relation relateTriangle(double minX, double maxX, double minY, double maxY, double ax, double ay, double bx, double by, double cx, double cy)
Component2D
relateTriangle
in interface Component2D
public 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)
Component2D
withinTriangle
in interface Component2D
public static Component2D create(Line... lines)
public static Component2D create(XYLine... lines)