package com.revolsys.geometry.cs.projection; public class DegreesToRadiansOperation implements CoordinatesOperation { public static final DegreesToRadiansOperation INSTANCE = new DegreesToRadiansOperation(); public DegreesToRadiansOperation() { } @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.toRadians(value); } } else { value = Double.NaN; } targetCoordinates[vertexIndex * targetAxisCount + axisIndex] = value; } } } }