ГОСУДАРСТВЕННЫЙ СТАНДАРТ
СОЮЗА ССР

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ

МАШИННАЯ ГРАФИКА

ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ ЯДРА
ГРАФИЧЕСКОЙ СИСТЕМЫ

ГОСТ 27817—88
(СТ СЭВ 6177—88)

И

88/565

здание официальное

ГОСУДАРСТВЕННЫЙ КОМИТЕТ СССР ПО СТАНДАРТАМ

Москва

ГОСУДАРСТВЕННЫЙ СТАНДАРТ

СОЮЗА ССР

СИСТЕМЫ ОБРАБОТКИ ИНФОРМАЦИИ

МАШИННАЯ ГРАФИКА

ФУНКЦИОНАЛЬНОЕ ОПИСАНИЕ ЯДРА

графической системы

ГОСТ 27817—88

(СТ СЭВ 6177—88)

Издание официальное

МОСКВА—198

9Прежде чем пользоваться ГОСТ 27817—88, внесите следующие исправления:

В каком месте

Напечатано

Должно быть

Стр. 43. Черт. 10

Преобразование нормирования

Преобразование нор­мирования 0

Стр. 76, 77.

. Пункты 3.2.4 и 3.2.6

Параметры:

Параметры:

Вх идентификатор

станции

ГОСТ 27817—88, М.: Изд-во стандартов, 1989



© Издательство стандартов, 1989


УДК 631.3.065.4:006.354 Группа П85

ГОСУДАРСТВЕННЫЙ СТАНДАРТ СОЮЗА ССР

Системы обработки информации

М

ГОСТ
27817—88
(СТ СЭВ
6177—88)

АШИННАЯ ГРАФИКА

Функциональное описание ядра
графической системы

Information processing systems.
Computer graphics.

Functional description of graphical kernel system

О КС ТУ 0014

Дата введения 01.07.89

Настоящий стандарт распространяется на программные и технические средства машинной графики, реализующие и исполь­зующие ядро графической системы (ЯГС), и устанавливает общие положения, концепции ядра графической системы, структуру дан­ных и функции ядра графической системы, используемые в систе­мах автоматизированного проектирования (САПР), в автомати­зированных системах управления (АСУ) и других областях, где применяются средства машинной графики.

Настоящий стандарт соответствует ИСО 7942, за исключе­нием:

раздел 0 ИСО 7942 включен в стандарт как приложение 2;

раздел 2 ИСО 7942 включен в стандарт как приложение 1;

опущен раздел 4.12 ИСО 7942 и все примечания относительно «International Register of Graphikal Items ISO»;

дополнительно к ИСО 7942 введен минимальный уровень реа­лизации ЯГС — уровень М (в соответствии с документом ANSI ХЗ.124.1—1985).

  1. СФЕРА ДЕЙСТВИЯ И ОБЛАСТЬ ПРИМЕНЕНИЯ

    1. Устанавливаемый настоящим стандартом набор функций ЯГС предназначен для использования в прикладных задачах, ко­торые вырабатывают спроектированные с помощью ЭВМ двух­мерные изображения для векторных и растровых графических уст­ройств вывода.

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

П

Издание официальное

ерепечатка воспрещена


    1. ЯГС представляет собой набор функций, которые могут быть реализованы программно или аппаратно, и служит для обес­печения связи между прикладной программой и графическими устройствами ввода и вывода.

    2. Одним из основных понятий ЯГС является понятие гра­фической рабочей станции (далее — станция), состоящей из на­бора устройств ввода и одного устройства вывода. Несколько стан­ций могут использоваться параллельно.

    3. В ЯГС включены функции записи информации во внешний файл и чтения из него.

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

    5. ЯГС не зависит от особенностей языков программирования. Для связи с языками программирования необходимо описать име­на функций и типы данных в терминах конкретного языка прог­раммирования.

    6. Реализация ЯГС дает возможность пользователям машин­ной графики разрабатывать прикладные программы, которые бу­дут переноситься между различными вычислительными система­ми и различными графическими устройствами.

    7. Понятия и пояснения, применяемые в настоящем стандар­те, приведены в приложении 1.

  1. ЯДРО ГРАФИЧЕСКОЙ СИСТЕМЫ

    1. Состав стандарта

      1. Стандарт содержит 4 раздела и 9 приложений.

    2. Введение в ЯГС

      1. Ядро графической системы представляет собой функцио­нальный интерфейс между прикладной программой и конфигура­цией графических устройств ввода и вывода. Функциональный интерфейс содержит все основные функции для интерактивной и неинтерактивной графики и применим для широкого диапазона графического оборудования.

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

      3. В подразд. 2.3 рассматриваются основные концепции вво­да и вывода. Вводится основное понятие Я ГС, реализующее неза­висимость от устройств, — графическая станция.

      4. Средства манипуляции и изменения изображений вводят­ся посредством сегментации, динамических атрибутов и преобра­зований. Общее описание этих методов приведено в п. 2.5.3 с уче­том принятой концепции станции.

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

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

      7. ЯГС определяет только независимое от языков програм­мирования ядро графической системы. Для объединения с языком программирования ЯГС следует встроить в зависимый от языка слой, содержащий языковые соглашения, например, параметры и имена.

      8. Модель функционирования ЯГС в графической системе представлена на черт. 1. Каждый уровень программ может вы­зывать функции примыкающих нижних уровней. В основном прикладная программа будет использовать проблемно-ориентиро­ванный и языково-зависимый уровни, а также другие зависящие от применения уровни и ресурсы операционной системы. Все возмож­ности станции, к которым можно обращаться через ЯГС, следует использовать только через ЯГС. Связь с языками программирова­ния описана в приложении 5.

    3. Концепции

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

Атрибуты управляют характеристиками примитивов вывода, например типом линий, цветом, высотой литер. Негеометрически­ми характеристиками, такими как цвет, управление осуществля­ется индивидуально для каждой станции, что позволяет полнёе использовать ее возможности.Модель функционирования НГС в графической системе

Прикладные программы

I


Проблемно-ориентированные программы |

j Программы связи с языками программирования

j | ~Ідро графической системы

ОПЕРАЦИОННАЯ СИСТЕМА

Другие ресурсы I Графические ресурсы

Черт. 1

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

  2. Две абстрактные концепции (абстрактный вывод и аб­страктный ввод) являются основополагающими для определения так называемой абстрактной станции. Станция ЯГС содержит один (либо ни одного) носитель изображения и, возможно, не­сколько устройств ввода, таких, как, например, алфавитно-цифро­вая клавиатура, планшет и световое перо. Станция представляет эти устройства прикладной программе как конфигурацию абст­рактных устройств, скрывая тем самым особенности аппаратуры.

  3. Геометрическая информация (координаты), содержа­щаяся в примитивах вывода, атрибутах и значениях данных логи­ческого ввода (при вводе позиции или последовательности пози­ций) подвергается преобразованиям. Эти преобразования связы­вают следующие, принятые в ЯГС, системы координат:

  1. мировые координаты (МК), используемые прикладным программистом;

  2. нормированные координаты (НК), используемые для зада­ния единой для всех станций системы координат;

  3. координаты устройства (КУ): одна система координат на каждую станцию, в этой системе представляются координаты пространства изображения станции.

  1. Примитивы вывода и атрибуты преобразуются из МК в НК посредством преобразования нормирования, из НК — в НК посредством преобразований сегмента и из НК в КУ посредством преобразований станции. Входные данные устройства ввода по­зиции преобразуются из КУ в НК посредством преобразования, об­ратного преобразованию станции, и посредством одного из пре­образований, обратных к преобразованию нормирования из НК в мк.

  2. Примитивы вывода и атрибуты примитивов могут быть объединены в сегмент. Сегменты являются неделимыми едини­цами при манипуляциях и изменениях. Манипуляции включают в себя создание, удаление и переименование. Изменение включает в себя преобразование сегмента, изменение его видимости и выде­ление сегмента. Сегментация является также основной для опера­тивного и не зависящего от устройства способа хранения изобра­жений. Такая область хранения, определяемая как особая стан­ция (называемая общей памятью сегментов) позволяет встав­лять сегменты в другие сегменты и передавать сегменты на дру­гие станции.

  3. Атрибуты, управляющие внешним видом компонентов изображения (примитивов вывода, сегментов, подсказок и эха устройств ввода) на носители изображения, организованы сле­дующим образом. Две группы атрибутов влияют на внешний вид каждого примитива вывода: атрибуты примитивов, которые не зависят от станции, и атрибуты станции. Атрибуты примитивов задаются по мере необходимости и связываются с примитивом во время его создания. Атрибуты примитива определяют его геомет­рические характеристики, такие как, например, высота литеры для примитива ТЕКСТ и размер шаблона для примитива ПОЛИ­ГОНАЛЬНАЯ ОБЛАСТЬ. Негеометрическими характеристиками примитивов атрибуты управляют одним из двух способов; либо все негеометрические характеристики примитива задаются одним атрибутом-индексом, указывающим на зависящее от станции представление (набор значений), либо каждая негеометрическая характеристика примитива задается отдельным, не зависящим от станции, атрибутом. Первый способ — задание связками, вто­рой — индивидуальное задание.

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

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

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

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

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

    1. Примитивы вывода

      1. Графическая информация, которая генерируется ЯГС и направляется на все активные станции, строится из основных элементов, называемых графическими примитивами вывода. В ЯГС имеется шесть видов примитивов вывода: