|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.geotools.geometry.iso.util.algorithm2D.CGAlgorithms
public class CGAlgorithms
Specifies and implements various fundamental Computational Geometric algorithms. The algorithms supplied in this class are robust for double-precision floating point.
Field Summary | |
---|---|
static int |
CLOCKWISE
A value that indicates an orientation of clockwise, or a right turn. |
static int |
COLLINEAR
A value that indicates an orientation of collinear, or no turn (straight). |
static int |
COUNTERCLOCKWISE
A value that indicates an orientation of counterclockwise, or a left turn. |
static int |
LEFT
|
static int |
RIGHT
|
static int |
STRAIGHT
|
Constructor Summary | |
---|---|
CGAlgorithms()
|
Method Summary | |
---|---|
static int |
computeOrientation(Coordinate p1,
Coordinate p2,
Coordinate q)
Computes the orientation of a point q to the directed line segment p1-p2. |
static double |
distanceLineLine(Coordinate A,
Coordinate B,
Coordinate C,
Coordinate D)
Computes the distance from a line segment AB to a line segment CD Note: NON-ROBUST! |
static double |
distancePointLine(Coordinate p,
Coordinate A,
Coordinate B)
Computes the distance from a point p to a line segment AB Note: NON-ROBUST! |
static double |
distancePointLinePerpendicular(Coordinate p,
Coordinate A,
Coordinate B)
Computes the perpendicular distance from a point p to the (infinite) line containing the points AB |
static boolean |
isCCW(Coordinate[] ring)
Computes whether a ring defined by an array of Coordinate is
oriented counter-clockwise. |
static boolean |
isCCW(java.util.List<org.opengis.geometry.DirectPosition> ring)
Same method as public static boolean isCCW(Coordinate[] ring) based on a DirectPosition list. |
static boolean |
isOnLine(Coordinate p,
Coordinate[] pt)
Test whether a point lies on the line segments defined by a list of coordinates. |
static boolean |
isPointInRing(Coordinate p,
Coordinate[] ring)
Test whether a point lies inside a ring. |
static int |
orientationIndex(Coordinate p1,
Coordinate p2,
Coordinate q)
Returns the index of the direction of the point q relative
to a vector specified by p1-p2 . |
static double |
signedArea(Coordinate[] ring)
Returns the signed area for a ring. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int CLOCKWISE
public static final int RIGHT
public static final int COUNTERCLOCKWISE
public static final int LEFT
public static final int COLLINEAR
public static final int STRAIGHT
Constructor Detail |
---|
public CGAlgorithms()
Method Detail |
---|
public static int orientationIndex(Coordinate p1, Coordinate p2, Coordinate q)
q
relative
to a vector specified by p1-p2
.
p1
- the origin point of the vectorp2
- the final point of the vectorq
- the point to compute the direction to
public static boolean isPointInRing(Coordinate p, Coordinate[] ring)
This algorithm does not attempt to first check the point against the envelope of the ring.
p
- point to check for ring inclusionring
- assumed to have first point identical to last point
true
if p is inside ringpublic static boolean isOnLine(Coordinate p, Coordinate[] pt)
public static boolean isCCW(java.util.List<org.opengis.geometry.DirectPosition> ring)
Coordinate
is
oriented counter-clockwise.
ring
- a list of direct positions forming a ring
true
if the ring is oriented counter-clockwise.public static boolean isCCW(Coordinate[] ring)
Coordinate
is
oriented counter-clockwise.
ring
- an array of coordinates forming a ring
true
if the ring is oriented counter-clockwise.public static int computeOrientation(Coordinate p1, Coordinate p2, Coordinate q)
public static double distancePointLine(Coordinate p, Coordinate A, Coordinate B)
p
- the point to compute the distance forA
- one point of the lineB
- another point of the line (must be different to A)
public static double distancePointLinePerpendicular(Coordinate p, Coordinate A, Coordinate B)
p
- the point to compute the distance forA
- one point of the lineB
- another point of the line (must be different to A)
public static double distanceLineLine(Coordinate A, Coordinate B, Coordinate C, Coordinate D)
A
- a point of one lineB
- the second point of (must be different to A)C
- one point of the lineD
- another point of the line (must be different to A)public static double signedArea(Coordinate[] ring)
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |