package com.revolsys.geometry.cs.projection; public class RadiansToDegreesOperation implements CoordinatesOperation { public static final RadiansToDegreesOperation INSTANCE = new RadiansToDegreesOperation(); public RadiansToDegreesOperation() { } @Override public void perform(final int sourceAxisCount, final double[] sourceCoordinates, final int targetAxisCount, final double[] targetCoordinates) { final int numPoints = sourceCoordinates.length / sourceAxisCount; for (int vertexIndex = 0; vertexIndex < numPoints; vertexIndex++) { for (int axisIndex = 0; axisIndex < targetAxisCount; axisIndex++) { double value; if (axisIndex < sourceAxisCount) { value = sourceCoordinates[vertexIndex * sourceAxisCount + axisIndex]; if (axisIndex < 2) { value = Math.toDegrees(value); } } else { value = Double.NaN; } targetCoordinates[vertexIndex * sourceAxisCount + axisIndex] = value; } } } }