2.1.3. Методы класса графических объектов

Чтобы изменить состояние объекта, необходимо поменять значение хотя бы одного из его атрибутов. Это обеспечивают методы того класса, экземпляром которого является данный объект. Векторные графические редакторы позволяют менять значения атрибутов графических объектов в процессе редактирования изображения. Это можно сделать одним из трех способов:

• непосредственным изменением значения атрибута, при котором его новое значение вводится пользователем;

• выполнением интерактивной операции (преобразования) над графическим объектом;

• программно, когда старое значение атрибута заменяется новым (чаще всего – автоматически вычисленным) в процессе выполнения программного модуля.

Перечисленные способы представляют собой различные реализации методов класса, к которому относится графический объект. В компьютерной графике можно считать методы класса операциями, с помощью которых графические объекты этого класса создают, удаляют или изменяют значения их атрибутов. По сути дела, процесс редактирования информационной модели изображения представляет собой последовательность применения методов к объектам различных классов, из которых состоит эта модель.

Некоторые методы преобразуют класс графического объекта. Например, составной объект можно разбить на части, параметрический примитив – преобразовать в кривую, на основе нескольких базовых объектов можно создать составной объект.

При дальнейшем рассмотрении методы класса графических объектов (как и атрибуты) разделяются на общие и специфические. К общим относятся методы, применимые ко всем или большинству классов графических объектов, например, размещение объекта, его разворот, настройка параметров обводки и заливки. Они будут рассматриваться в отдельных разделах. К специфическим относятся методы, характерные именно для данного класса графических объектов, например, закругление углов для прямоугольников (см. разд. 2.2.2) или форматирование абзацев для текстов (см. разд. 2.5.2 и 2.5.5). Они будут рассматриваться в разделах, посвященных классам объектов.

Данный текст является ознакомительным фрагментом.