Студопедия

КАТЕГОРИИ:


Архитектура-(3434)Астрономия-(809)Биология-(7483)Биотехнологии-(1457)Военное дело-(14632)Высокие технологии-(1363)География-(913)Геология-(1438)Государство-(451)Демография-(1065)Дом-(47672)Журналистика и СМИ-(912)Изобретательство-(14524)Иностранные языки-(4268)Информатика-(17799)Искусство-(1338)История-(13644)Компьютеры-(11121)Косметика-(55)Кулинария-(373)Культура-(8427)Лингвистика-(374)Литература-(1642)Маркетинг-(23702)Математика-(16968)Машиностроение-(1700)Медицина-(12668)Менеджмент-(24684)Механика-(15423)Науковедение-(506)Образование-(11852)Охрана труда-(3308)Педагогика-(5571)Полиграфия-(1312)Политика-(7869)Право-(5454)Приборостроение-(1369)Программирование-(2801)Производство-(97182)Промышленность-(8706)Психология-(18388)Религия-(3217)Связь-(10668)Сельское хозяйство-(299)Социология-(6455)Спорт-(42831)Строительство-(4793)Торговля-(5050)Транспорт-(2929)Туризм-(1568)Физика-(3942)Философия-(17015)Финансы-(26596)Химия-(22929)Экология-(12095)Экономика-(9961)Электроника-(8441)Электротехника-(4623)Энергетика-(12629)Юриспруденция-(1492)Ядерная техника-(1748)

Функции формирования примитивов вывода и управления их атрибутами




В ЯГС иллюстрации рассматриваются как совокупность примитивов, т.е. основных конструктивных элементов.

В ЯГС определены шесть типов примитивов:

1) POLYLINE - ЛОМАНАЯ (линия, заданная точками излома);

2) POLYMARKER - ПОЛИМАРКЕР, последовательность знаков (маркеров) заданного типа, центры которых находятся в задаваемых точках;

3) TEXT - ТЕКСТ, генерирует строку символов, начиная с заданной точки;

4) FILL AREA - ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ, замкнутая область, которая заполнена определенным цветом, штриховкой или при отображении остается пустой (не закрашенной), за исключением границ;

5) CELL ARRAY - МАТРИЦА КЛЕТОК, прямоугольник, состоящий из двумерного массива ячеек, каждая из которых имеет свой цвет;

6) GENERALIZED DRAWING PRIMITIV (GDP) - ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ), позволяет использовать изобразительные возможности, характерные для графических устройств, аппаратно - реализующих вывод таких элементов, как дуги окружностей, эллипсов, сплайновых кривых.

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

Включение примитивов ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ и МАТРИЦА КЛЕТОК позволяет эффективно использовать растровые графические устройства. Тем не менее для обеспечения мобильности прикладных программ образы, генерируемые этими примитивами, должны отображаться и на векторных устройствах.

С каждым примитивом связан определенный набор параметров, которые используются для задания конкретных образов этого примитива. Например, параметры примитива ТЕКСТ представляют собой строку символов, подлежащую вычерчиванию, начальную позицию этой строки и количество символов в ней.

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

Атрибуты первого типа задают геометрические характеристики примитива, например высоту символов текста, размер фигуры заполнения для примитива ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ и т.п. Следовательно, их можно рассматривать в качестве геометрических атрибутов. Они не зависят от РС и выражаются в единицах мировой системы координат (например, высота символов задается в единицах МК, а направление следования символов в строке принимает одно из допустимых значений: вправо, влево и т.д.). Значения атрибутов в единицах МК подвергаются всем преобразованиям, которые выполняются над геометрическими данными примитивов вывода при визуализации.

Атрибуты второго типа определяют негеометрические аспекты примитивов, их значения не влияют на размер примитивов, но влияют на внешний вид (тип и толщину линии, цвет)негеометрические атрибуты могут задаваться одним из двух способов - через таблицы представления примитивов на РС или индивидуально в зависимости от состояния флага выборки атрибутов (ФВА) на рабочей станции, который устанавливается прикладной программой отдельно для каждого негеометрического атрибута и принимает значения BUNDLED - СВЯЗАННЫЙ или INDIVIDUAL - ИНДИВИДУАЛЬНЫЙ.

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

В ряде применений достаточно отмечать на поверхности отображения различные объекты, а способ различия (цветом, яркостью, толщиной линий) лучше представлять прикладной программе, которая будет настраиваться в зависимости от заложенных в ней требований пользователя и имеющихся возможностей устройства. Это достигается управлением атрибутами на уровне индекса примитива, который является независимым от РС атрибутом для каждого типа примитива. Значение этого атрибута является целым числом от единицы до некоторого максимального, которое зависит от реализации ЯГС. Индекс примитива указывает на некоторую строку в таблице представления для каждого типа примитива. Строка таблицы содержит значения всех неграфических атрибутов для примитива. Прикладная программа выбирает определенный индекс примитива, а визуальные характеристики изображения будут определяться или всем набором атрибутов соответствующей строки таблицы РС или одним из атрибутов в этой строке в зависимости от возможностей их физической реализации на РС. В ЯГС предусмотрены функции для задания значений атрибутов в таблицах рабочих станций.

 




Поделиться с друзьями:


Дата добавления: 2014-11-20; Просмотров: 504; Нарушение авторских прав?; Мы поможем в написании вашей работы!


Нам важно ваше мнение! Был ли полезен опубликованный материал? Да | Нет



studopedia.su - Студопедия (2013 - 2024) год. Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав! Последнее добавление




Генерация страницы за: 0.009 сек.