СТОТ, СТАК, СГОТ Уровень тс.
INQUIRE INPUT QUEUE OVERFLOW.
Параметры:
Вых индикатор ошибок Ц;
Вых идентификатор станции И;
Вых класс устройства ввода
(ВВОД ПОЗИЦИИ, ВВОД ПОСЛЕДОВАТЕЛЬНОСТИ ПОЗИЦИЙ, ВВОД ЧИСЛА, ВЫБОР, УКАЗАНИЕ, ВВОД СТРОКИ) П;
Вых номер устройства ввода (1 ... п) Ц.
Действие:
Если очередь событий переполнилась после выполнения функции ОТКРЫТЬ ЯГС или последнего обращения к функции УЗНАТЬ НАЛИЧИЕ ПЕРЕПОЛНЕНИЯ ОЧЕРЕДИ СОБЫТИЙ, возвращается идентификатор логического устройства ввода, вызвавшего переполнение очереди. Эта запись о переполнении удаляется из таблицы ошибок.
Индикатор ошибок может принимать значения:
7 ЯГС не находится в состоянии СТОТ, СТАК или СГОТ;
Очередь событий не переполнялась после открытия ЯГС или после последнего обращения к функции УЗНАТЬ НАЛИЧИЕ ПЕРЕПОЛНЕНИЯ ОЧЕРЕДИ СОБЫТИЙ;
Очередь событий переполнялась, но соответствующая станция была закрыта.
Описание функции в соответствии с пп. 2.8.5, 2.11.2.
Вспомогательные функции
СФОРМИРОВАТЬ МАТРИЦУ ПРЕОБРАЗОВАНИИ
ГЯОТ, СТОТ, СТАК, СГОТ Уровень 1а.
EVALUATE TRANSFORMATION MATRIX.
Параметры:
Вх неподвижная точка МК или НК Т;
Вх вектор сдвига МК или НК 2хД;
Вх угол поворота в радианах (положительный,
если против часовой стрелки) Д;
Вх коэффициент масштабирования 2хД;
Вх переключатель координат (МК, НК) П;
Вых матрица преобразований сегмента 2хЗхД.
Действие:
Вычисляется преобразование, заданное неподвижной точкой, вектором сдвига, углом поворота и коэффициентом масштабирования, и результат помещается в выходной параметр (для использования функциями ВСТАВИТЬ СЕГМЕНТ и ЗАДАТЬ ПРЕОБРАЗОВАНИЕ СЕГМЕНТА). Переключатель координат определяет, задается ли вектор сдвига и неподвижная точка в МК или НК. Если используются МК, то выполняется текущее преобразование нормирования. Порядок преобразования следующий: масштабирование, поворот (оба относительно заданной неподвижной точки) и сдвиг. Элементы М13 и М23 результирующей матрицы преобразований размерности 2X3 являются НК, другие — безразмерные.
Описание функции в соответствии с п. 2.7.3.
Ошибки:
8 ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ.
ВЫЧИСЛИТЬ РЕЗУЛЬТИРУЮЩУЮ МАТРИЦУ ПРЕОБРАЗОВАНИИ
ГЯОТ, СТОТ, СТАК, СГОТ Уровень 1а. ACCUMULATE TRANSFORMATION MATRIX.
Параметры:
Вх матрица преобразований сегмента 2хЗхД;
Вх неподвижная точка МК или НК Т;
Вх вектор сдвига МК или НК 2ХД;
Вх угол поворота в радианах (положительный, если против часовой стрелки) Д;
Вх коэффициент масштабирования 2хД;
Вх переключатель координат (МК, НК) П;
Вых матрица преобразований сегмента 2хЗхД.
Действие:
Преобразование, заданное неподвижной точкой, вектором сдвига, углом поворота и коэффициентом масштабирования, объединяется с матрицей преобразования сегмента, заданной во входных параметрах, а результат возвращается в выходном параметре (для использования функциями ВСТАВИТЬ СЕГМЕНТ и ЗАДАТЬ ПРЕОБРАЗОВАНИЕ СЕГМЕНТА). Переключатель координат определяет, задается ли вектор сдвига и неподвижная точка в МК или НК. Если используются МК, то вектор сдвига и неподвижная точка преобразуются текущим преобразованием нормирования. Порядок преобразований следующий: умножение на матрицу, заданную во входных параметрах, масштабирование, поворот (оба относительно заданной неподвижной точки) и сдвиг. Элементы М13 и М23 результирующей матрицы преобразований размерности 2X3 являются НК, другие — безразмерные.
Описание функции в соответствии с п. 2.7.3.
Ошибки:
ЯГС не находится в состоянии ГЯОТ, СТОТ, СТАК или СГОТ.
Функции обработки ошибок
АВАРИЙНО ЗАКРЫТЬ ЯГС
ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа. EMERGENCY CLOSE GKS.
Параметры:
Нет.
Действие:
ЯГС аварийно закрывается в соответствии с п. 2.12. По возможности выполняются следующие действия:
ЗАКРЫТЬ СЕГМЕНТ (если он открыт);
ОБНОВИТЬ ИЗОБРАЖЕНИЕ НА СТАНЦИИ для всех открытых станций;
ДЕАКТИВИРОВАТЬ все активные станции;
ЗАКРЫТЬ все открытые станции;
ЗАКРЫТЬ ЯГС.
Эта функция может быть вызвана и в случае установления состояния ошибки в положение НЕТ. Если ЯГС уже закрыто (функциональное состояние ГЯЗК), указанные действия не выполняются.
Описание функции в соответствии с п. 2.12.
ОБРАБОТАТЬ ОШИБКУ
ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа.
ERROR HANDLING.
Параметры:
Вх номер ошибки Ц;
Вх идентификатор процедуры ЯГС, вызванной прикладной программой, которая стала причиной обнаружения ошибки И;
Вх файл ошибок (устанавливается в функции
ОТКРЫТЬ ЯГС) и.
Действие:
ЯГС обращается к функции ОБРАБОТАТЬ ОШИБКУ при любой ошибочной ситуации. Стандартная процедура обращается к функции ЗАРЕГИСТРИРОВАТЬ ОШИБКУ с теми же параметрами.
Примечание. Функция ОБРАБОТАТЬ ОШИБКУ может быть заменена в прикладной программе на пользовательскую процедуру, обрабатывающую те же ошибочные ситуации.
Описание функции в соответствии с п. 2.12.
ЗАРЕГИСТРИРОВАТЬ ОШИБКУ
ГЯЗК, ГЯОТ, СТОТ, СТАК, СГОТ Уровень Оа.
ERROR LOGGING.
Параметры:
Вх номер ошибки Ц;
Вх идентификатор процедуры ЯГС, вызванной прикладной программой, которая стала причиной обнаружения ошибки И;
Вх файл ошибок (устанавливается в функции
ОТКРЫТЬ ЯГС) И.
Действие:
Функция ЗАРЕГИСТРИРОВАТЬ ОШИБКУ записывает сообщение об ошибке и идентификацию функции ЯГС в файл ошибок; возвращает управление вызванной процедуре.
Описание функции в соответствии с п. 2.12.
Примеры программ, использующих функции ЯГС, приведены в приложении 8, а их краткое описание — в приложении 9.
4. СТРУКТУРЫ ДАННЫХ ЯГС
1.Обозначения и типы данных
1.1. Для каждого поля в структуре данных приводится следующая информация:
название поля;
система координат (при необходимости);
допустимые значения данных;
тип данных;
начальное значение данных (если применимо).
1.2. Простые типы данных обозначаются буквами:
Ц — целое число;
Д — действительное число;
С — строка символов;
Т — точка, которая задается двумя действительными числами — координатами X и Y позиции в системах координат МК, НК или КУ;
И — имя (используется для файла ошибок, идентификаторов связи, типа станции, идентификатора функции расширения, идентификатора ЯГС, идентификатора указания, имени сигмента и идентификации функции ЯГС);
П — перечислимое (принимает значение из упорядоченного набора, который определяется перечислением идентификаторов. Этот тип данных может быть привязан, например, к типу данных «скаляр» языка программирования Паскаль или к типу данных «целое» языка программирования Фортран);
О — запись данных (обобщенные данные), структуры и содержание которых произвольно.
1.3. Данные могут быть представлены в виде комбинации данных простого типа. В этом случае они обозначаются путем комбинации обозначения простых типов, например:
вектор значений — 2ХД;
матрица значений — 2ХЗХД;
список значений, например, пХЦ или пХ4ХЦ;
массив значений пХпХЦ;
упорядоченная пара значений различного типа — (Ц; П).
В приведенных примерах и обозначает переменное целое значение и может не иметь отношения к появлению п в описаниях других типов данных.
Представление этих типов данных в конкретной реализации зависит от свойств языка программирования и возможностей системы. Зависящая от языка программирования часть реализации должна привязать типы данных ЯГС к типам, имеющимся в языке программирования.
1.4. Для координатных данных система координат указывается следующим образом:
МК — система мировых координат;
НК — система нормализованных координат;
КУ — система координат устройства.
Для описания одних и тех же данных могут использоваться различные системы координат при вызове функций и в таблицах состояний.1.5. Допустимые значения данных обозначаются следующим образом:
условия: например >0 или [0, 1] (последнее означает, что значение лежит между 0 и 1 включ.);
) диапазон целых значений, например 1 ... 4;
диапазон целых значений, максимальное значение которых определяется при реализации, например, 32 .. п. Наличие п в этом обозначении не обязательно предполагает какую либо взаимосвязь с наличием и в других обозначениях. В этом контексте п обозначает переменное целое значение;
список значений, которые составляют данные типа «перечислимое», например ЗАПРЕЩЕНО, РАЗРЕШЕНО;
упорядоченный список любых перечисленных выше обозначений.
При наличии начальных значений они проставляются в последней колонке таблицы структуры данных. Для обозначения начальных значений применяются следующие сокращения:
неопр. — неопределенное значение;
. — зависящее от реализации;
ТОС — начальное значение содержится в таблице описания станции.
Если начальное значение не задано, то значение устанавливается соответствующей функцией ЯГС.
. Функциональное состояние
Функциональные состояния ЯГС описаны в табл. 4.
Таблица 4
Название |
Допустимые значения |
Тип данных |
Начальное значение |
|
Функциональное состояние |
гязк, гяот СТОТ, СТАК, сгот |
П |
гязк |
|
Таблица 5 |
||||
Название поля |
Допустимые значения |
Тип данных |
Начальное значение |
|
Уровень ЯГС Число доступных типов станций Список доступных типов станций |
ma, mb, тс, 0а, 0Ь, Ос, 1а, 1b, 1с, 2а, 2Ь, 2с 1 . . п |
п Ц пХИ |
з. р. з. р. 3. р. |
Продолжение табл, б
Название поля |
Допустимые значения |
Тип данных |
Начальное значение |
|
Максимальное число одновременно открытых станций |
1 . |
. п |
ц |
з. р. |
Максимальное число одновременно активных станций |
1 . |
. п |
ц |
3. р. |
Максимальное число станций, связанных с сегментом |
1 . |
. П' |
ц |
3. р. |
Максимальный номер преобразования нормирования |
1 . |
. п |
ц |
3. р. |
. Таблица состояния ЯГС (табл. 6).
Таблица 6
Название поля |
Допустимые значения |
Тип данных (Система координат) |
Начальное значение |
Набор открытых станций |
пХИ |
Пуст |
|
Набор активных станций |
— |
пХИ |
Пуст |
Текущий индекс ломаной |
1 . . п |
Ц |
1 |
Текущий тип линии |
—п . . —1, 1 . . п |
Ц |
1 |
Текущий масштаб толщи- |
|
|
|
ны линии |
>=0 |
д |
1.0 |
Текущий индекс цвета |
0 . . п |
ц |
1 |
ломаной |
|
|
|
Текущий ФВА типа ли- |
СВЯЗАННЫЙ, |
|
|
НИИ |
ИНДИВИДУАЛЬ- |
П |
См. приме- |
|
НЫЙ |
|
чание |
Текущий ФВА масштаба |
СВЯЗАННЫЙ, |
|
|
ТОЛЩИНЫ ЛИНИИ |
ИНДИВИДУАЛЬ. |
П |
См. приме- |
|
НЫЙ |
|
Ч&НИЄ |
Текущий ФВА индекса |
СВЯЗАННЫЙ, |
|
См. приме- |
цвета ломаной |
ИНДИВИДУАЛЬ- |
П |
чание |
|
НЫЙ |
|
|
Текущий индекс полимар- |
|
|
|
кера |
1 . . п |
Н |
1 |
Текущий тип маркера |
—п . . —1, 1 . . п |
ц |
3 |
Текущий масштаб марке- |
|
|
|
ра |
>=0 |
д |
1.0 |
Текущий индекс цвета |
|
|
|
полимаркера |
0 . . п |
ц |
1 |
Текущий ФВА типа мар- |
СВЯЗАННЫЙ, |
|
|
кера |
ИНДИВИДУАЛЬ. |
п |
См. приме- |
|
НЫЙ |
|
чание |
Текущий ФВА масштаба |
СВЯЗАННЫЙ, |
|
|
маркера |
ИНДИВИДУАЛЬ- |
П |
См. пойме- |
|
НЫЙ |
|
чание |