package com.revolsys.geometry.model.coordinates.list;
import com.revolsys.geometry.model.LineString;
import com.revolsys.geometry.model.impl.LineStringDouble;
public class RingCoordinatesList extends LineStringDouble {
/**
*
*/
private static final long serialVersionUID = 5660399503744099455L;
public RingCoordinatesList(final LineString coordinatesList) {
super(coordinatesList.subLine(0, coordinatesList.getVertexCount() - 1));
}
@Override
public RingCoordinatesList clone() {
throw new UnsupportedOperationException();
}
@Override
public double getCoordinate(final int index, final int axisIndex) {
if (axisIndex >= getAxisCount()) {
return Double.NaN;
} else {
if (index >= super.getVertexCount()) {
return super.getCoordinate(index % super.getVertexCount(), axisIndex);
} else {
return super.getCoordinate(index, axisIndex);
}
}
}
@Override
public int getVertexCount() {
return super.getVertexCount() + 1;
}
}