Программный продукт "Графический редактор учебно-методических материалов"
Дипломная работа - Компьютеры, программирование
Другие дипломы по предмету Компьютеры, программирование
?имо получить информацию для сохранения точек.(int i), GetY(int i) - возвращает значение координаты i-ой точки по горизонтали и по вертикали на экране соответственно.() - позволяет узнать является ли примитив замкнутым. Данная функция возвращает в любой момент значение ЛОЖЬ. Однако его определение необходимо, т.к. в противном случае класс будет не доопределен,() - производит отмену последней созданной точки. Реализация отмены может быть произведена в двух случаях: отмена второй созданной точки, отмена первой созданной точки. Причем второй вариант влечет за собой и уничтожение объекта Линия.
Закрытые методы(), FindMin() - функции в качестве результатов возвращают максимальные и минимальные позиции точек линии на экране. Работа по поиску таких точек производится последовательным обходом всех точек (двух) линии, заданных свойством linePoints.(int n) - производит проверку выделения точек и позволяет блокировать множественный выбор точек, за iет того, что возвращает логическое значение. Если точек не выделено проверка приводит к перемещению линии, или другим операциям работы с линией. В случаях, когда одна из точек выбрана, данный метод не позволяет производить выделение других точек. Актуальность такой процедуры возникла при перемещении точек линии, так как в определенные моменты при перемещении одной из точек и наведении на другую производилось выделение последней и дальнейшее её перемещение с первой.() , offTypeLine() - методы вызываются методом Draw() и позволяют включить или отключить режим начертания линии (пунктир, штриховая и т.д.). Так как работы по подготовке к рисованию примитива не относятся непосредственно к отрисовке линии, то для облегчения понимания исходных кодов, данные методы были вынесены отдельно.() - вызывается методом onMouseDown() и производит работу по присвоению координат начальной и конечной точки линии. Выделение такого метода обусловлено необходимостью создания более наглядного кода, для дальнейшего сопровождения программы.
Для моделирования динамических аспектов работы класса в рамках языка UML применяются диаграммы последовательностей. Данные диаграммы позволяют более подробно увидеть процессы взаимодействия методов описанного класса. В Приложении Б Диаграмма последовательностей вызовов методов класса Линия составлена схема взаимодействия различных методов, начиная с отправки сообщений от программы к классу, и заканчивая взаимодействием отдельных методов и свойств, оказывающих влияние друг на друга.
3.3.1.3 Класс Ломаная линия
Класс позволяет нарисовать несколько отрезков. Причем для рисования первого отрезка необходимо задания двух точек, а для всех последующих - только одной. Основная функциональная возможность данного класса, в отличие от класса Линия, заключается в том, что при работе с данным примитивом возможно рисование различных фигур состоящих из множества отрезков, например, рисования прямоугольников, ромбов и т.д. Также класс позволяет реализовать возможность рисования замкнутых фигур, состоящих из прямых отрезков, и в последующем применять к ним заливки различных цветов.
Наличие класса Линия и класса Ломаная линия, столь похожих друг на друга, определяется, прежде всего, потребностью пользователя. Так как создание примитива Линия по сравнению с заданием примитива Ломаная линия требует меньшее количество операций мыши, задействует меньшее количество её кнопок, что несколько упрощает работу с примитивом Линия.
Класс является наследником класса Примитив, а, следовательно, кроме своих свойств и методов в нем доступны открытые свойства и методы класса Примитив. Рассмотрим основные методы и свойства, кроме тех, что реализуют одинаковый функционал.
Открытые свойства.
PLPoints [1000] - массив элементов типа Точка. Позволяет хранить информацию о точках, задающих ломаную линию. Максимальное количество точек в примитиве Ломаная линия ограничено 1000. Такое количество точек позволяет пользователю нарисовать окружность, переломы на которой будут не отличимыми для глаза.
Numpoints - свойство характеризует количество заданных точек. Задание примитива iитается законченным, когда пользователь нажимает правую кнопку мыши или замыкает примитив. При этом в родительском классе Примитив устанавливается значение _closed и/или _finished.
Открытые методы.
Draw() - метод рисования ломаной линии на экране, как в момент задания линии пользователем, так и в процессе работы с другими примитивами при изменении содержания OpenGL сцены. В качестве параметров принимает контекст устройства воспроизведения и контекст окна Open GL. Данный метод также реализует подсветку линии, если в текущий момент времени пользователем выделен данный объект. Подсветка реализуется как задание прямоугольника, координаты которого определяются закрытыми методами FindMax() и FindMin(). При рисовании незаконченной фигуры производится отрисовка той части примитива, которая закончена, а после, добавляется сегмент, который пользователь в текущий момент перемещает для выбора точки. Данный метод вызывает и заливку заданной фигуры.
onMouseOver() - особенностью данного метода является тот факт, что массив точек задающих примитив по сравнению с классом линия расширен и может иметь большее количество точек, чем член класса linePoints. Метод класса Ломаная линия в качестве параметров принимает значения координат указателя мыши.() - является наследуемым от класса Примитив и п
Copyright © 2008-2014 geum.ru рубрикатор по предметам рубрикатор по типам работ пользовательское соглашение