ЛОМАНАЯ — набор связанных между собой отрезков прямых линий, определяемых последовательностью точек;

ПОЛИМАРКЕР — графические символы одного типа, цент­рированные в заданных позициях;

ТЕКСТ — строка литер в заданной позиции;

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ — многоугольник, который может быть либо пуст, либо закрашен одним цветом, либо запол­нен узором, либо заштрихован;

МАТРИЦА ЯЧЕЕК — матрица ячеек, каждая из которых име-^ ет свой индивидуальный цвет;

ОБОБЩЕННЫЙ ПРИМИТИВ ВЫВОДА (ОПВ) — ЯГС обра­щается к специальным дополнительным возможностям геометри­ческого вывода станции. Таким как, например, вычерчивание сплайновых кривых, дуг окружностей и эллипсов. Объекты вывода характеризуются идентификатором, набором точек и дополни­тельными данными. ЯГС применяет все преобразования к точкам, но оставляет их интерпретацию за станцией.

  1. Атрибуты графических примитивов вывода

    1. Каждый примитив вывода имеет три типа атрибутов: геометрический, негеометрический и идентификационный. Пер­вые два типа атрибутов определяют точное представление при­митива вывода, а третий тип атрибутов используется совместно а вводом. Значения атрибутов устанавливаются по мере необходим мости и заносятся в таблицу состояния ЯГС. Предоставляются от­дельные функции ЯГС для установки отдельно каждого из ат­рибутов примитива (за исключением флагов выборки атрибутов (ФВА), которые описаны ниже), что позволяет прикладной прог­рамме задавать значения атрибута, не обязательно задавая значе­ния других атрибутов. Во время создания примитива вывода (а именно, когда вызывается одна из функций ЯГС для генерации примитива вывода) значения атрибутов связываются с примити­вом и не могут впоследствии быть изменены.

    2. Атрибуты первого типа управляют геометрическими характеристиками примитивов, которые влияют на форму и раз­мер всего примитива (например ВЫСОТА ЛИТЕРЫ для прими­тивов ТЕКСТ). Атрибуты этого типа не зависят от станции...Они,, представляют координатные данные (точки или смещения) и за­даются в мировых координатах, либо принимают одно из перечис­ленных значений. Геометрические атрибуты задаются отдельно для каждого из видов примитивов. Примитивы могут иметь один или несколько геометрических атрибутов или не иметь ни одного атрибута такого типа.

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

  1. Атрибуты второго типа управляют негеометрическими характеристиками примитивов, которые влияют на визуальное представление примитива (например тип линии для примитива ЛОМАНАЯ или индекс цвета для всех примитивов, за исключением примитива МАТРИЦА ЯЧЕЕК). Негеометрические характерис­тики не представляют координатных данных.

Негеометрические характеристики примитива могут задавать­ся одним из двух способов: через связку или индивидуально.

  1. Для каждого примитива существует атрибут — ИН­ДЕКС < примитива>, который является указателем в таблице связок примитива. Для каждого примитива, за исключением ОБОБЩЕННОГО ПРИМИТИВА ВЫВОДА и примитива МАТ­РИЦА ЯЧЕЕК, имеется таблица связок. Негеометрические ха­рактеристики при задании через связку являются зависимыми от станции. Каждая станция имеет свой набор таблиц связок, нахо­дящихся в таблице состояния станции. Данные в конкретной связ­ке или запись в таблице связок могут быть различными для раз­ных станций.

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

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

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

  5. Способ задания негеометрических атрибутов примити­ва может быть выбран отдельно для каждого атрибута. Группа атрибутов, называемая ФЛАГАМИ ВЫБОРКИ АТРИБУТОВ (ФВА), которые принимают значения ИНДИВИДУАЛЬНЫЙ или СВЯЗАННЫЙ, позволяет выбрать тот или иной способ задания. Эти атрибуты запоминаются в таблице состояния ЯГС. Для каж­дой негеометрической характеристики каждого примитива име­ется свой ФВА. Начальные значения всех ФВА одинаковы: они мо­гут иметь значения или ИНДИВИДУАЛЬНЫЙ, или СВЯЗАН­НЫЙ в зависимости от реализации. Если начальные значения не изменяются, система будет работать в режимах:

индивидуальное задание негеометричеаких атрибутов не под­держивается системой, если все ФВА имеют значения СВЯЗАН­НЫЙ;

задание негеометрических характеристик посредством связок не поддерживается системой, если начальными значениями всех ФВА являются — ИНДИВИДУАЛЬНЫЙ.

Флаги могут быть установлены в любой момент после открытия ЯГС с помощью функции ЗАДАТЬ ФЛАГИ ВЫБОРКИ АТРИБУ­ТОВ. Это позволяет одни негеометрические атрибуты примитива задавать индивидуально, а другие — через связки.

  1. При отображении примитива значения негеометриче­ских характеристик определяются следующим образом:

если ФВА имеет значение ИНДИВИДУАЛЬНЫЙ, то на всех станциях используется значение соответствующего индивидуаль­но заданного атрибута;

если ФВА имеет значение СВЯЗАННЫЙ, то используется зна­чение соответствующей компоненты связки, указанной индексом в таблице связок этого примитива на этой станции.

  1. Цвет является негеометрическим атрибутом примити­ва, он задается индексом в таблице цвета. На каждой станции имеется таблица, в которой указаны все индексы цвета. Другие поля в связках или соответствующие им индивидуально задавае­мые атрибуты могут быть индексами либо другой таблицы стан­ции (например, индекс заполнителя, когда используется вид за-

  2. волнения ПО ШАБЛОНУ), либо индексами некоторого фиксиро­ванного списка (например тип линии для примитива ЛОМАНАЯ).

  3. Для каждого примитива существует только один ат­рибут третьего типа — ИДЕНТИФИКАТОР УКАЗАНИЯ. Он ис­пользуется для идентификации примитива или группы примитивов в сегменте при указании на этот сегмент.

  4. Таким образом к каждому примитиву вывода приме­няются три типа атрибутов (атрибуты, управляющие негеометри­ческими характеристиками, геометрические атрибуты и ИДЕН­ТИФИКАТОР УКАЗАНИЯ).

ЛОМАНАЯ:

ИНДЕКС ЛОМАНОЙ;

ТИП ЛИНИИ;

МАСШТАБ ТОЛЩИНЫ ЛИНИЙ;

ИНДЕКС ЦВЕТА ЛОМАНОЙ;

ФВА ТИПА ЛИНИИ;

ФВА МАСШТАБА ТОЛЩИНЫ ЛИНИЙ;

ФВА ИНДЕКСА ЦВЕТА ЛОМАНОЙ;

ИДЕНТИФИКАТОР УКАЗАНИЯ.

ПОЛИМАРКЕР:

ИНДЕКС ПОЛИМАРКЕРА;

ТИП МАРКЕРА;

МАСШТАБ МАРКЕРА;

ИНДЕКС ЦВЕТА ПОЛИМАРКЕРА;

ФВА ТИПА МАРКЕРА;

ФВА МАСШТАБА МАРКЕРА;

ФВА ИНДЕКСА ЦВЕТА ПОЛИМАРКЕРА;

ИДЕНТИФИКАТОР УКАЗАНИЯ.

ТЕКСТ:

ИНДЕКС ЦВЕТА;

ШРИФТ И ТОЧНОСТЬ ТЕКСТА;

МАСШТАБ РАСШИРЕНИЯ ЛИТЕРЫ;

МЕЖЛИТЕРНЫЙ ПРОСВЕТ;

ИНДЕКС ЦВЕТА ТЕКСТА;

ФВА ШРИФТА И ТОЧНОСТИ ТЕКСТА;

ФВА МАСШТАБА РАСШИРЕНИЯ ЛИТЕ­

РЫ;

ФВА ИНДЕКСА ЦВЕТА ТЕКСТА;

ВЫСОТА ЛИТЕРЫ;

ВЕРТИКАЛЬ ЛИТЕРЫ;

НАПРАВЛЕНИЕ ТЕКСТА;

ВЫРАВНИВАНИЕ ТЕКСТА;

ИДЕНТИФИКАТОР УКАЗАНИЯ.

ПОЛИГОНАЛЬ­

НАЯ ОБЛАСТЬ: ИНДЕКС ПОЛИГОНАЛЬНОЙ ОБЛАСТИ;

ВИД ЗАПОЛНЕНИЯ ПОЛИГОНАЛЬНОЙ ОБЛАСТИ;

ИНДЕКС ЗАПОЛНИТЕЛЯ ПОЛИГОНАЛЬ­НОЙ ОБЛАСТИ;

ИНДЕКС ЦВЕТА ПОЛИГОНАЛЬНОЙ ОБ­ЛАСТИ;

ФВА ВИДА ЗАПОЛНЕНИЯ ПОЛИГО­НАЛЬНОЙ ОБЛАСТИ;

ФВА ИНДЕКСА ЗАПОЛНИТЕЛЯ ПОЛИ­ГОНАЛЬНОЙ ОБЛАСТИ;

ФВА ИНДЕКСА ЦВЕТА ПОЛИГОНАЛЬ­

НОЙ ОБЛАСТИ;

РАЗМЕР ШАБЛОНА;

ТОЧКА ПРИВЯЗКИ ШАБЛОНА; ИДЕНТИФИКАТОР УКАЗАНИЯ.

МАТРИЦА

ЯЧЕЕК: ИДЕНТИФИКАТОР УКАЗАНИЯ.

ОБОБЩЕННЫЙ

ПРИМИТИВ

ВЫВОДА: Содержит или не содержит ни одного из при­

веденных выше наборов. Наличие атрибута ИДЕНТИФИКАТОР УКАЗАНИЯ обязатель­но.

Взаимосвязи атрибутов приведены на черт. 2.

Атрибуты примитивов, кроме ИДЕНТИФИКАТОРА УКАЗА­НИЯ, описаны в подразд. 2.4. В описании атрибуты печатаются прописными буквами (например, ВЫСОТА ЛИТЕРЫ, ИДЕНТИ­ФИКАТОР УКАЗАНИЯ), характеристики печатаются как про­писными, так и строчными буквами по контексту. Геометрические характеристики всегда регулируются геометрическими атрибу­тами и печатаются прописными буквами (например, ВЫСОТА ЛИТЕРЫ).

Негеометрические характеристики могут регулироваться че­рез ИНДЕКС примитива или посредством индивидуально опре­деленных атрибутов. Негеометрические характеристики печа­таются строчными буквами, если не используются соответствую­щие индивидуально определенные атрибуты, в противном случаеСвязь атрибутов



Примечание. Атрибут ИДЕНТИФИКАТОР УКАЗАНИЯ выделен сре­ди других атрибутов примитивов (только на этом чертеже) для наглядности. Полный список атрибутов содержится в п. 2.4.2.12.

Черт. 2 они печатаются прописными буквами (например характеристика, тип линии и индивидуально определенный атрибут ТИП ЛИНИИ).

  1. Поля в таблицах связок, шаблонов и цвета могут быть установлены отдельно для каждой станции. Некоторые стан­дартные предопределенные значения для полей таблицы содер­жатся в таблице описания станции и используются как начальные значения. Прикладная программа может выбрать стандартное значение или задать значение характеристики определенного по­ля явно. Для каждой станции вывода или ввода-вывода следует заранее определять лишь наиболее часто используемые (или пред­полагаемые для использования) комбинации значений характе­ристик. Другие комбинации значений могут быть заданы функ­цией ЗАДАТЬ ПРЕДСТАВЛЕНИЕ <примитива |шаблона]цве­та > (возможно после выяснения возможностей станции).

На каждой станции категории ВЫВОД, ВВОД-ВЫВОД или МВЫВОД (вывод в метафайл) имеются таблицы связок ломаной, связок полимаркера, связок текста, связок полигональной области, шаблонов, цвета. Они являются атрибутами станции.

Значения данных в этих таблицах могут быть динамически из­менены. Изменение таблицы связок является единственным спо­собом изменения изображения ранее выведенного примитива.

Изменение в полях таблицы связок может отражаться на изо­бражении примитива только в случае, если соответствующие ФВА (этого примитива) для характеристик из таблицы связок имеют значения СВЯЗАННЫЙ. Поле «восприятие динамического обнов­ления» в таблице описания станции указывает, какие изменения приводят к неявной повторной генерации (НПГ) (возможно за­держанной), а какие изменения могут быть выполнены немедлен­но (НОИ — немедленное обновление изображения).

Если изменения выполняются немедленно, то их действие мо­жет распространяться на примитивы, находящиеся как вне, так и внутри сегментов.

  1. Атрибуты примитива ЛОМАНАЯ

    1. Ломаная не имеет геометрических атрибутов. Пред­ставлением ломаной на станции управляет ИНДЕКС ЛОМАНОЙ или набор индивидуально заданных атрибутов ломаной (ТИП ЛИ­НИИ, МАСШТАБ ТОЛЩИНЫ ЛИНИИ и ИНДЕКС ЦВЕТА ЛО­МАНОЙ) или некоторая комбинация этих двух способов, в зави­симости от значений ФВА для типа линии, масштаба толщины ли­нии или индекса цвета ломаной. Атрибут ИНДЕКС ЛОМАНОЙ является указателем в таблице связок ломаной, каждое поле ко­торой содержит значения для типа линии, масштаба толщины ли­нии и индекса цвета ломаной.

    2. Типы линий с 1 до 4 задают сплошную, штриховую, пунктирную и штрихпунктирную линии соответственно. Эти типы линий различают и реализуют все станции вывода и ввода-выво­да. Значения типов линии больше 4 резервируют для будущей стандартизации. Типы линии с отрицательными значениями зави­сят от реализации. Тип линии определяет последовательность от­резков линии и промежутков между ними, которые повторяются при изображении ломаной. Будет ли эта последовательность на­чинаться заново или продолжаться при начале ломаной, при нача­ле вычерчивания усеченной части ломаной, в каждой вершине ло­маной, зависит от станции.

    3. Толщина линии вычисляется как номинальная толщина» умноженная на масштаб толщины линии. Это значение преобразу­ется станцией в ближайшую по назначению доступную толщину линии.

  2. Атрибуты примитива ПОЛИМАРКЕР

    1. Полимаркер не имеет геометрических атрибутов. Пред­ставлением полимаркера на станции управляет ИНДЕКС ПОЛИ­МАРКЕРА или набор индивидуально заданных атрибутов поли­маркера (ТИП МАРКЕРА, МАСШТАБ МАРКЕРА или ИНДЕКС ЦВЕТА ПОЛИМАРКЕРА) или комбинация этих двух способов в зависимости от значений ФВА для типа маркера, масштаба мар­кера и индекса цвета полимаркера. ИНДЕКС ПОЛИМАРКЕРА является указателем в таблице связок полимаркера, каждое поле которой содержит тип маркера, масштаб маркера и индекс цвета полимаркера.

    2. Устанавливаются обязательные типы маркеров с I по 5: точка, знак плюс, звездочка, окружность и диагональный крест. Каждый из них центрируется в позиции, которую отмечает. Все станции вывода и ввода-вывода должны поддерживать типы мар­керов с 1 по 5, обеспечивая хорошую их распознаваемость в дан­ных позициях. Типы маркеров больше 5 резервируются для бу­дущей стандартизации. Типы маркеров с отрицательными значе­ниями зависят от реализации.