MapAround.CoordinateSystems.Transformations.Affine.applyInverted C# (CSharp) Method

applyInverted() private method

private applyInverted ( double p ) : double[]
p double
return double[]
        private double[] applyInverted(double[] p)
        {
            double[] result = new double[p.Length];

            int delta = 2;
            if (p.Length % 3 == 0)
                delta = 3;

            for (int i = 0; i < p.Length / 2; i += delta)
            {
                result[i] = p[i] * _inverseMatrix[0, 0] + p[i + 1] * _inverseMatrix[1, 0] + _inverseMatrix[2, 0];
                result[i + 1] = p[i] * _inverseMatrix[0, 1] + p[i + 1] * _inverseMatrix[1, 1] + _inverseMatrix[2, 1];

                if (delta == 3)
                    result[i + 2] = p[i + 2];
            }

            return result;
        }