Beispiel #1
0
        /// <summary>
        /// Получить объединенную матрицу с расстоянием до старта
        /// </summary>
        /// <returns></returns>
        public Double[,] GetMergeMatrix()
        {
            if (StartPoint == null)
            {
                return(GetMatrix());
            }

            int mergeMatrixLength = _matrix.GetLineLength() + 1;

            Double[,] mergeMatrix = new Double[mergeMatrixLength, mergeMatrixLength];

            for (int i = 0; i < mergeMatrixLength - 1; i++)
            {
                mergeMatrix[i + 1, 0] = _specialMatrix[0, i]; // расстояния от Старта до клиента
                mergeMatrix[0, i + 1] = _specialMatrix[i, 0];
            }

            for (int i = 0; i < mergeMatrixLength - 1; i++)
            {
                for (int j = 0; j < mergeMatrixLength - 1; j++)
                {
                    mergeMatrix[i + 1, j + 1] = _matrix[i, j];
                }
            }

            return(mergeMatrix);
        }