package com.revolsys.geometry.model.impl; import com.revolsys.geometry.model.GeometryFactory; import com.revolsys.geometry.model.LinearRing; import com.revolsys.geometry.model.Triangle; public class TriangleLinearRing extends AbstractLineString implements LinearRing { /** * */ private static final long serialVersionUID = 1L; private final Triangle triangle; public TriangleLinearRing(final Triangle triangle) { this.triangle = triangle; } @Override public TriangleLinearRing clone() { return (TriangleLinearRing)super.clone(); } @Override public int getAxisCount() { return this.triangle.getAxisCount(); } @Override public double getCoordinate(int vertexIndex, final int axisIndex) { if (vertexIndex == 3) { vertexIndex = 0; } return this.triangle.getCoordinate(vertexIndex, axisIndex); } @Override public double[] getCoordinates() { return this.triangle.getCoordinates(); } @Override public GeometryFactory getGeometryFactory() { return this.triangle.getGeometryFactory(); } @Override public int getVertexCount() { return 4; } @Override public LinearRing newGeometry(final GeometryFactory geometryFactory) { return LinearRing.super.newGeometry(geometryFactory); } }