Статус документа
Статус документа

ГОСТ 27817-88 (СТ СЭВ 6177-88) Системы обработки информации. Машинная графика. Функциональное описание ядра графической системы

     

ПРИЛОЖЕНИЕ 8
Справочное

     
ПРИМЕРЫ ПРОГРАММ


Использование функций ЯГС в программах, написанных на базе языка программирования Паскаль, показано в примерах 1-6.

В примере 1 в пакетном задании создаются примитивы вывода и запоминаются для долговременного хранения в метафайле ЯГС.

Текст, заключенный в фигурные скобки, является комментарием.

Пример 1.

{Определения и объявления опущены}

ОТКРЫТЬ ЯГС;

{станция вывода метафайла}

ОТКРЫТЬ СТАНЦИЮ (МВЫВ, ФАЙЛ-1, МВЫВ);

{Выходные данные направляются в метафайл}

АКТИВИРОВАТЬ СТАНЦИЮ (МВЫВ);


.
     .
     .


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

ЛОМАНАЯ (число точек, массив координат-точек);

ПОЛИГОНАЛЬНАЯ ОБЛАСТЬ (число точек, массив координат-точек);

ДЕАКТИВИРОВАТЬ СТАНЦИЮ (МВЫВ);

{Метафайл освобождается}

ЗАКРЫТЬ СТАНЦИЮ (МВЫВ);

ЗАКРЫТЬ ЯГС.


В примере 2 в пакетном задании считывается метафайл ЯГС и создаются выходные данные для графопостроителя.

Пример 2.

{Определения и объявления опущены}

ОТКРЫТЬ ЯГС;

{Открывается станция ввода метафайла}

ОТКРЫТЬ СТАНЦИЮ (МВВО, ФАЙЛ-1, МЯГС-ВВОДА);

{Окрывается* станция для графопостроителя}
_______________
     * Текст соответствует оригиналу. - Примечание изготовителя базы данных.

ОТКРЫТЬ СТАНЦИЮ (ГП, ГПДДО, ПЛАНШЕТНЫЙ ГП);

{Выходные данные направляются на графопостроитель}

АКТИВИРОВАТЬ РАБОЧУЮ СТАНЦИЮ (ГП);


     .
     .
     .


REPEAT

ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЯГС (МВВО, ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ);

ПРОЧИТАТЬ ЗАПИСЬ ИЗ МЯГС (МВВО, ДЛИНА МАССИВА, МАССИВ);

ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ (МВВО, ТИП ЗАПИСИ, ДЛИНА МАССИВА, МАССИВ);

UNTIL ТИП ЗАПИСИ = КОНЕЦ ФАЙЛА;


     .
     .
     .



{Ввод данных на графопостроитель прекращается}

ДЕАКТИВИРОВАТЬ СТАНЦИЮ (ГП);

ЗАКРЫТЬ СТАНЦИЮ (ГП);

{Метафайл освобождается}

ЗАКРЫТЬ СТАНЦИЮ (МВВО);

ЗАКРЫТЬ ЯГС.


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

Сегменты могут быть, например, символами блок-схемы. Они появляются наверху, внизу или у края экрана и используются для построения блок-схемы.

Пример 3.

{Определения и объявления опущены}

ОТКРЫТЬ ЯГС;

{Открывается станция ввода-вывода для устройства отображения на ЭЛТ}

ОТКРЫТЬ СТАНЦИЮ (УОЭЛТ, УОДД, ВЕКТОРУОЭЛТ);

{Открывается станция ввода для графопостроителя}

ОТКРЫТЬ СТАНЦИЮ (ГП, ГПДД, БАРАБАННЫЙ ГП);

     
{Открывается станция ввода метафайла}

ОТКРЫТЬ СТАНЦИЮ (МВВО, ФАЙЛ 1, МЯГС ВВОДА);

{Открывается независимая от станции память сегментов}

ОТКРЫТЬ СТАНЦИЮ (ОПС 1, НРСПСДД, ОПС);

{Содержимое метафайла отображается на устройстве отображения на ЭЛТ}

{Если имеются сегменты, они запоминаются в общей памяти сегментов}

{Выходные данные направляются на устройство отображения на ЭЛТ}

     
АКТИВИРОВАТЬ СТАНЦИЮ (УОЭЛТ);

{Выходные данные направляются в общую память сегментов}

АКТИВИРОВАТЬ СТАНЦИЮ (ОПС 1);

{Считывается и интерпретируется МЯГС}

REPEAT

ПОЛУЧИТЬ ТИП ЗАПИСИ ИЗ МЯГС (МЯГС ВВ, ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ);

ПРОЧИТАТЬ ЗАПИСЬ ИЗ МЯГС (МЯГС ВВ ДЛИНА МАССИВА, МАССИВ);

ИНТЕРПРЕТИРОВАТЬ ЗАПИСЬ (ТИП ЗАПИСИ, ДЛИНА ЗАПИСИ, МАССИВ);

UNTIL ТИП ЗАПИСИ = КОНЕЦ ФАЙЛА;

{Освобождается метафайл}

ЗАКРЫТЬ СТАНЦИЮ (МВВОД);

{Вывод данных в общую память сегментов прекращается}

ДЕАКТИВИРОВАТЬ СТАНЦИЮ (ОПС 1);