Лабораторная работа 2 - Применение модели грид-потоков для внедрения в грид существующего приложения
Конструктор класса грид-потока RenderThread
[Serializable]
public class RenderThread : GThread
{
...
/// <summary>
/// Создает новый экземпляр грид-потока для рендеринга части изображения.
/// </summary>
/// <param name="inputScene">строка с текстовым представлением сцены</param>
/// <param name="tempDirectory">временный каталог</param>
/// <param name="workDirectory">рабочий каталог</param>
/// <param name="width">ширина изображения</param>
/// <param name="height">высота изображения</param>
/// <param name="startRow">начальный ряд</param>
/// <param name="startCol">начальный столбец</param>
/// <param name="endRow">конечный ряд</param>
/// <param name="endCol">конечный столбец</param>
/// <param name="antialiasLevel">качество сглаживания изображения</param>
public RenderThread(string inputScene, string tempDirectory, string workDirectory,
int width, int height, int startRow, int startCol, int endRow, int endCol,
AntialisingLevel antialiasLevel, string additionalArguments)
{
// Устанавливаем строку с текстовым представлением сцены
this.inputScene = inputScene;
// Устанавливаем каталог для хранения временных файлов
this.tempDirectory = tempDirectory;
// Устанавливаем рабочий каталог приложения MegaPOV
this.workDirectory = workDirectory;
// Устанавливаем дополнительные аргументы приложения MegaPOV
this.additionalArguments = additionalArguments;
// Устанавливаем ширину и высоту изображения в пикселях
this.width = width;
this.height = height;
// Устанавливаем границы прямоугольной области для рендеринга
this.startCol = startCol;
this.startRow = startRow;
this.endCol = endCol;
this.endRow = endRow;
// Устанавливаем настройки сглаживания изображения
this.antialiasLevel = antialiasLevel;
// Создаем точечный рисунок для хранения части изображения
this.image = new Bitmap(endCol - startCol, endRow - startRow);
}
...
}