public class CoordinateArrays extends Object
| Modifier and Type | Class and Description |
|---|---|
static class |
CoordinateArrays
A
Comparator for
Coordinate arrays modulo their directionality.
|
static class |
CoordinateArrays
A
Comparator for
Coordinate arrays in the forward direction of their coordinates, using lexicographic ordering.
|
| Constructor and Description |
|---|
CoordinateArrays()
|
| Modifier and Type | Method and Description |
|---|---|
static Coordinate |
atLeastNCoordinatesOrNothing(int n, Coordinate
Returns either the given coordinate array if its length is greater than the given amount, or an empty coordinate array.
|
static int |
compare(Coordinate
Compares two
Coordinate arrays in the forward direction of their coordinates, using lexicographic ordering.
|
static Coordinate |
copyDeep(Coordinate
Creates a deep copy of the argument {@link Coordinate) array.
|
static void |
copyDeep(Coordinate
Creates a deep copy of a given section of a source {@link Coordinate) array into a destination Coordinate array.
|
static boolean |
equals(Coordinate
Returns true if the two arrays are identical, both null, or pointwise equal (as compared using Coordinate#equals)
|
static boolean |
equals(Coordinate
Returns true if the two arrays are identical, both null, or pointwise equal, using a user-defined
Comparator for
Coordinate s
|
static Coordinate |
extract(Coordinate
|
static boolean |
hasRepeatedPoints(Coordinate
Returns whether #equals returns true for any two consecutive Coordinates in the given array.
|
static int |
increasingDirection(Coordinate
Determines which orientation of the
Coordinate array is (overall) increasing.
|
static int |
indexOf(Coordinate
Returns the index of
coordinate in
coordinates.
|
static boolean |
isRing(Coordinate
Tests whether an array of
Coordinates forms a ring, by checking length and closure.
|
static Coordinate |
minCoordinate(Coordinate
Returns the minimum coordinate, using the usual lexicographic comparison.
|
static Coordinate |
ptNotInList(Coordinate
Finds a point in a list of points which is not contained in another list of points
|
static Coordinate |
removeRepeatedPoints(Coordinate
If the coordinate array argument has repeated points, constructs a new array containing no repeated points.
|
static void |
reverse(Coordinate
Reverses the coordinates in an array in-place.
|
static void |
scroll(Coordinate
Shifts the positions of the coordinates until
firstCoordinate is first.
|
static Coordinate |
toCoordinateArray(Collection
Converts the given Collection of Coordinates into a Coordinate array.
|
public static boolean isRing(Coordinate[] pts)
Coordinates forms a ring, by checking length and closure. Self-intersection is not checked.
pts - an array of Coordinates
public static CoordinateptNotInList(Coordinate [] testPts, Coordinate [] pts)
testPts - the
Coordinates to test
pts - an array of
Coordinates to test the input points against
Coordinate from
testPts which is not in
pts, ' or
null
public static int compare(Coordinate[] pts1, Coordinate [] pts2)
Coordinate arrays in the forward direction of their coordinates, using lexicographic ordering.
pts1 -
pts2 -
public static int increasingDirection(Coordinate[] pts)
Coordinate array is (overall) increasing. In other words, determines which end of the array is "smaller" (using the standard ordering on
Coordinate). Returns an integer indicating the increasing direction. If the sequence is a palindrome, it is defined to be oriented in a positive direction.
pts - the array of Coordinates to test
1 if the array is smaller at the start or is a palindrome,
-1 if smaller at the end
public static Coordinate[] copyDeep(Coordinate [] coordinates)
coordinates - an array of Coordinates
public static void copyDeep(Coordinate[] src, int srcStart, Coordinate [] dest, int destStart, int length)
src - an array of Coordinates
srcStart - the index to start copying from
dest - the
destStart - the destination index to start copying to
length - the number of items to copy
public static Coordinate[] toCoordinateArray(Collection coordList)
public static boolean hasRepeatedPoints(Coordinate[] coord)
public static Coordinate[] atLeastNCoordinatesOrNothing(int n, Coordinate [] c)
public static Coordinate[] removeRepeatedPoints(Coordinate [] coord)
hasRepeatedPoints(Coordinate[])
public static void reverse(Coordinate[] coord)
public static boolean equals(Coordinate[] coord1, Coordinate [] coord2)
Coordinate.equals(Object)
public static boolean equals(Coordinate[] coord1, Coordinate [] coord2, Comparator coordinateComparator)
Comparator for
Coordinate s
coord1 - an array of Coordinates
coord2 - an array of Coordinates
coordinateComparator - a Comparator for Coordinates
public static CoordinateminCoordinate(Coordinate [] coordinates)
coordinates - the array to search
compareTo
Coordinate.compareTo(Object)
public static void scroll(Coordinate[] coordinates, Coordinate firstCoordinate)
firstCoordinate is first.
coordinates - the array to rearrange
firstCoordinate - the coordinate to make first
public static int indexOf(Coordinatecoordinate, Coordinate [] coordinates)
coordinate in
coordinates. The first position is 0; the second, 1; etc.
coordinate - the
Coordinate to search for
coordinates - the array to search
coordinate, or -1 if it is not found
public static Coordinate[] extract(Coordinate [] pts, int start, int end)
pts - the input array
start - the index of the start of the subsequence to extract
end - the index of the end of the subsequence to extract