public final class PolylineRing extends CompositeRing implements AutoCloseable
GeometryFactory#createPolylineRing
Modifier and Type | Method and Description |
---|---|
void |
close() |
protected void |
finalize() |
LineInterpolationType |
getInterpolationType()
Returns the interpolation type of the line segment.
|
Coordinate |
getPoint(long index)
Returns the coordinate for the requested index.
|
long |
getPointCount()
Returns the number of points in the polyline ring.
|
List<Coordinate> |
getPoints()
Returns the list of points of this polyline ring.
|
PolylineRing |
insertPoint(long index,
Coordinate newLocation)
Creates a new
PolylineRing with an newly inserted control point. |
PolylineRing |
movePoint(long index,
Coordinate newLocation)
Creates a new
PolylineRing with a moved control point. |
PolylineRing |
removePoint(long index)
Creates a new
PolylineRing with a control point removed. |
PolylineRing |
translate(Coordinate translation)
Translates the entire polyline ring.
|
getCurveAt, getCurveCount
computePoint, getLength2D
getBounds, getReference
protected void finalize()
finalize
in class CompositeRing
public void close()
close
in interface AutoCloseable
close
in class CompositeRing
public long getPointCount()
@NotNull public Coordinate getPoint(long index) throws IllegalArgumentException
index
- the index of the requested point.IllegalArgumentException
- when requesting an invalid index.@NotNull public List<Coordinate> getPoints()
@NotNull public LineInterpolationType getInterpolationType()
One of
@NotNull public PolylineRing translate(@NotNull Coordinate translation)
Note: when the polyline ring is defined in a geodetic reference and uses geodetic interpolation, the translation is not performed by translating the points one by one. Instead, a translation method is used that better preserves the shape of the polyline ring when moving it towards (or away from) the poles.
translation
- the translation vector@NotNull public PolylineRing movePoint(long index, @NotNull Coordinate newLocation) throws IllegalArgumentException
PolylineRing
with a moved control point.index
- the index of the point to move. Should be in [0, getPointCount()
- 1].newLocation
- the new location of the pointIllegalArgumentException
- for an invalid index@NotNull public PolylineRing insertPoint(long index, @NotNull Coordinate newLocation) throws IllegalArgumentException
PolylineRing
with an newly inserted control point.index
- the index of the newly inserted control point. Should be in [0, getPointCount()
]. For index 0, a new point will be added at the start of the Polyline
ring. For index getPointCount()
, a new point is added at the end of the Polyline
ring. For other index values, a new point will be added between the point at specified (index-1) and the point at the index position.newLocation
- the location of the new pointIllegalArgumentException
- for an invalid index@NotNull public PolylineRing removePoint(long index) throws IllegalArgumentException
PolylineRing
with a control point removed.
This methods returns a copy of the polyline ring if its point count is less or equal to 3.
index
- the index of the point to be removed. Should be in [0, getPointCount()
- 1].IllegalArgumentException
- for an invalid index