СТОТ, СТАК, СГОТ Уровень тс.

INQUIRE INPUT QUEUE OVERFLOW.

Параметры:

Вых индикатор ошибок Ц;

Вых идентификатор станции И;

Вых класс устройства ввода

(ВВОД ПОЗИЦИИ, ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИ­ЦИЙ, ВВОД ЧИСЛА, ВЫБОР, УКАЗАНИЕ, ВВОД СТРОКИ) П;

Вых номер устройства ввода (1 ... п) Ц.

Действие:

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

Индикатор ошибок может принимать значения:

7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;

  1. Очередь событий не переполнялась после открытия ЯГС или после последнего обращения к функции УЗНАТЬ НАЛИЧИЕ ПЕ­РЕПОЛНЕНИЯ ОЧЕРЕДИ СОБЫТИЙ;

  2. Очередь событий переполнялась, но соответствующая стан­ция была закрыта.

Описание функции в соответствии с пп. 2.8.5, 2.11.2.

  1. Вспомогательные функции

    1. СФОРМИРОВАТЬ МАТРИЦУ ПРЕОБРАЗОВАНИИ

ГЯОТ, СТОТ, СТАК, СГОТ Уровень 1а.

EVALUATE TRANSFORMATION MATRIX.

Параметры:

Вх неподвижная точка МК или НК Т;

Вх вектор сдвига МК или НК 2хД;

Вх угол поворота в радианах (положительный,

если против часовой стрелки) Д;

Вх коэффициент масштабирования 2хД;

Вх переключатель координат (МК, НК) П;

Вых матрица преобразований сегмента 2хЗхД.

Действие:

Вычисляется преобразование, заданное неподвижной точкой, вектором сдвига, углом поворота и коэффициентом масштабирова­ния, и результат помещается в выходной параметр (для использо­вания функциями ВСТАВИТЬ СЕГМЕНТ и ЗАДАТЬ ПРЕОБРА­ЗОВАНИЕ СЕГМЕНТА). Переключатель координат определяет, задается ли вектор сдвига и неподвижная точка в МК или НК. Ес­ли используются МК, то выполняется текущее преобразование нормирования. Порядок преобразования следующий: масштабиро­вание, поворот (оба относительно заданной неподвижной точки) и сдвиг. Элементы М13 и М23 результирующей матрицы преобразо­ваний размерности 2X3 являются НК, другие — безразмерные.

Описание функции в соответствии с п. 2.7.3.

Ошибки:

8 ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ.

  1. ВЫЧИСЛИТЬ РЕЗУЛЬТИРУЮЩУЮ МАТРИЦУ ПРЕ­ОБРАЗОВАНИИ

ГЯОТ, СТОТ, СТАК, СГОТ Уровень 1а. ACCUMULATE TRANSFORMATION MATRIX.

Параметры:

Вх матрица преобразований сегмента 2хЗхД;

Вх неподвижная точка МК или НК Т;

Вх вектор сдвига МК или НК 2ХД;

Вх угол поворота в радианах (положительный, если против часовой стрелки) Д;

Вх коэффициент масштабирования 2хД;

Вх переключатель координат (МК, НК) П;

Вых матрица преобразований сегмента 2хЗхД.

Действие:

Преобразование, заданное неподвижной точкой, вектором сдви­га, углом поворота и коэффициентом масштабирования, объединя­ется с матрицей преобразования сегмента, заданной во входных параметрах, а результат возвращается в выходном параметре (для использования функциями ВСТАВИТЬ СЕГМЕНТ и ЗАДАТЬ ПРЕОБРАЗОВАНИЕ СЕГМЕНТА). Переключатель координат оп­ределяет, задается ли вектор сдвига и неподвижная точка в МК или НК. Если используются МК, то вектор сдвига и неподвижная точка преобразуются текущим преобразованием нормирования. По­рядок преобразований следующий: умножение на матрицу, задан­ную во входных параметрах, масштабирование, поворот (оба от­носительно заданной неподвижной точки) и сдвиг. Элементы М13 и М23 результирующей матрицы преобразований размерности 2X3 являются НК, другие — безразмерные.

Описание функции в соответствии с п. 2.7.3.

Ошибки:

    1. ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ.

  1. Функции обработки ошибок

    1. АВАРИЙНО ЗАКРЫТЬ ЯГС

ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа. EMERGENCY CLOSE GKS.

Параметры:

Нет.

Действие:

ЯГС аварийно закрывается в соответствии с п. 2.12. По возмож­ности выполняются следующие действия:

ЗАКРЫТЬ СЕГМЕНТ (если он открыт);

ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ для всех от­крытых станций;

ДЕАКТИВИРОВАТЬ все активные станции;

ЗАКРЫТЬ все открытые станции;

ЗАКРЫТЬ ЯГС.

Эта функция может быть вызвана и в случае установления сос­тояния ошибки в положение НЕТ. Если ЯГС уже закрыто (функ­циональное состояние ГЯЗК), указанные действия не выполняют­ся.

Описание функции в соответствии с п. 2.12.

  1. ОБРАБОТАТЬ ОШИБКУ

ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа.

ERROR HANDLING.

Параметры:

Вх номер ошибки Ц;

Вх идентификатор процедуры ЯГС, вызванной прикладной программой, которая стала причиной обнаружения ошибки И;

Вх файл ошибок (устанавливается в функции

ОТКРЫТЬ ЯГС) и.

Действие:

ЯГС обращается к функции ОБРАБОТАТЬ ОШИБКУ при лю­бой ошибочной ситуации. Стандартная процедура обращается к функции ЗАРЕГИСТРИРОВАТЬ ОШИБКУ с теми же параметра­ми.

Примечание. Функция ОБРАБОТАТЬ ОШИБКУ может быть заменена в прикладной программе на пользовательскую процедуру, обрабатывающую те же ошибочные ситуации.

Описание функции в соответствии с п. 2.12.

  1. ЗАРЕГИСТРИРОВАТЬ ОШИБКУ

ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа.

ERROR LOGGING.

Параметры:

Вх номер ошибки Ц;

Вх идентификатор процедуры ЯГС, вызванной прикладной программой, которая стала причиной обнаружения ошибки И;

Вх файл ошибок (устанавливается в функции

ОТКРЫТЬ ЯГС) И.

Действие:

Функция ЗАРЕГИСТРИРОВАТЬ ОШИБКУ записывает сооб­щение об ошибке и идентификацию функции ЯГС в файл ошибок; возвращает управление вызванной процедуре.

Описание функции в соответствии с п. 2.12.

Примеры программ, использующих функции ЯГС, приведены в приложении 8, а их краткое описание — в приложении 9.

4. СТРУКТУРЫ ДАННЫХ ЯГС

  1. 1.Обозначения и типы данных

  2. 1.1. Для каждого поля в структуре данных приводится следу­ющая информация:

  1. название поля;

  2. система координат (при необходимости);

  3. допустимые значения данных;

  4. тип данных;

  5. начальное значение данных (если применимо).

  1. 1.2. Простые типы данных обозначаются буквами:

Ц — целое число;

Д — действительное число;

С — строка символов;

Т — точка, которая задается двумя действительными числами — координатами X и Y позиции в системах координат МК, НК или КУ;

И — имя (используется для файла ошибок, идентификаторов связи, типа станции, идентификатора функции расширения, иден­тификатора ЯГС, идентификатора указания, имени сигмента и идентификации функции ЯГС);

П — перечислимое (принимает значение из упорядоченного на­бора, который определяется перечислением идентификаторов. Этот тип данных может быть привязан, например, к типу данных «ска­ляр» языка программирования Паскаль или к типу данных «це­лое» языка программирования Фортран);

О — запись данных (обобщенные данные), структуры и содер­жание которых произвольно.

  1. 1.3. Данные могут быть представлены в виде комбинации данных простого типа. В этом случае они обозначаются путем ком­бинации обозначения простых типов, например:

  1. вектор значений — 2ХД;

  2. матрица значений — 2ХЗХД;

  3. список значений, например, пХЦ или пХ4ХЦ;

  4. массив значений пХпХЦ;

  5. упорядоченная пара значений различного типа — (Ц; П).

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

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

  1. 1.4. Для координатных данных система координат указывает­ся следующим образом:

МК — система мировых координат;

НК — система нормализованных координат;

КУ — система координат устройства.

  1. Для описания одних и тех же данных могут использоваться различные системы координат при вызове функций и в таблицах состояний.1.5. Допустимые значения данных обозначаются следующим образом:

  2. условия: например >0 или [0, 1] (последнее означает, что значение лежит между 0 и 1 включ.);

  3. ) диапазон целых значений, например 1 ... 4;

  4. диапазон целых значений, максимальное значение которых определяется при реализации, например, 32 .. п. Наличие п в этом обозначении не обязательно предполагает какую либо взаимосвязь с наличием и в других обозначениях. В этом контексте п обозна­чает переменное целое значение;

  5. список значений, которые составляют данные типа «пере­числимое», например ЗАПРЕЩЕНО, РАЗРЕШЕНО;

  6. упорядоченный список любых перечисленных выше обозна­чений.

При наличии начальных значений они проставляются в послед­ней колонке таблицы структуры данных. Для обозначения началь­ных значений применяются следующие сокращения:

неопр. — неопределенное значение;

  1. . — зависящее от реализации;

ТОС — начальное значение содержится в таблице описания станции.

Если начальное значение не задано, то значение устанавливает­ся соответствующей функцией ЯГС.

  1. . Функциональное состояние

Функциональные состояния ЯГС описаны в табл. 4.

Таблица 4

Название

Допустимые значения

Тип данных

Начальное значение

Функциональное сос­тояние

гязк, гяот

СТОТ, СТАК, сгот

П

гязк

  1. Таблица описания ЯГС

    1. Описания полей, входящих в состав описания ЯГС, приве­дены в табл. 5.

Таблица 5

Название поля

Допустимые значения

Тип данных

Начальное

значение

Уровень ЯГС

Число доступных типов станций

Список доступных типов станций

ma, mb, тс, 0а, 0Ь, Ос, 1а, 1b, 1с, 2а, 2Ь, 2с 1 . . п

п

Ц

пХИ

з. р.

з. р.

3. р.

Продолжение табл, б

Название поля

Допустимые значения

Тип данных

Начальное значение

Максимальное число од­новременно открытых стан­ций

1 .

. п

ц

з. р.

Максимальное число од­новременно активных стан­ций

1 .

. п

ц

3. р.

Максимальное число стан­ций, связанных с сегмен­том

1 .

. П'

ц

3. р.

Максимальный номер пре­образования нормирования

1 .

. п

ц

3. р.



  1. . Таблица состояния ЯГС (табл. 6).

Таблица 6

Название поля

Допустимые значения

Тип данных (Система координат)

Начальное значение

Набор открытых станций

пХИ

Пуст

Набор активных станций

пХИ

Пуст

Текущий индекс ломаной

1 . . п

Ц

1

Текущий тип линии

—п . . —1, 1 . . п

Ц

1

Текущий масштаб толщи-




ны линии

>=0

д

1.0

Текущий индекс цвета

0 . . п

ц

1

ломаной




Текущий ФВА типа ли-

СВЯЗАННЫЙ,



НИИ

ИНДИВИДУАЛЬ-

П

См. приме-


НЫЙ


чание

Текущий ФВА масштаба

СВЯЗАННЫЙ,



ТОЛЩИНЫ ЛИНИИ

ИНДИВИДУАЛЬ.

П

См. приме-


НЫЙ


Ч&НИЄ

Текущий ФВА индекса

СВЯЗАННЫЙ,


См. приме-

цвета ломаной

ИНДИВИДУАЛЬ-

П

чание


НЫЙ



Текущий индекс полимар-




кера

1 . . п

Н

1

Текущий тип маркера

—п . . —1, 1 . . п

ц

3

Текущий масштаб марке-




ра

>=0

д

1.0

Текущий индекс цвета




полимаркера

0 . . п

ц

1

Текущий ФВА типа мар-

СВЯЗАННЫЙ,



кера

ИНДИВИДУАЛЬ.

п

См. приме-


НЫЙ


чание

Текущий ФВА масштаба

СВЯЗАННЫЙ,



маркера

ИНДИВИДУАЛЬ-

П

См. пойме-


НЫЙ


чание