[ < ] [ > ]   [ << ] [ Up ] [ >> ]         [Top] [Contents] [Index] [ ? ]

5.1 Класс mglWindow

Этот класс производный от класса mglGraph (см. Ядро MathGL). Он определен в #include <mgl2/window.h>. Класс содержит методы для создания и управления окном, содержащим графику MathGL. Похожий набор классов существует отдельно для каждой библиотеки виджетов: mglQT в #include <mgl2/qt.h>, mglFLTK в #include <mgl2/fltk.h>, mglWX в #include <mgl2/wx.h>.

Конструктор класса mglWindow: mglWindow (const char *title="MathGL")
Конструктор класса mglWindow: mglWindow (int (*draw)(HMGL gr, void *p), const char *title="MathGL", void *par=NULL, int kind=0, void (*reload)(HMGL gr, void *p)=0)
Конструктор класса mglWindow: mglWindow (int (*draw)(mglGraph *gr), const char *title="MathGL", int kind=0)
Конструктор класса mglWindow: mglWindow (mglDraw *draw, const char *title="MathGL", int kind=0)
Функция С: HMGL mgl_create_graph_qt (int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*reload)(HMGL gr, void *p))
Функция С: HMGL mgl_create_graph_fltk (int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*reload)(HMGL gr, void *p))
Функция С: HMGL mgl_create_graph_glut (int (*draw)(HMGL gr, void *p), const char *title, void *par, void (*reload)(HMGL gr, void *p))

Создает окно для вывода графика. Параметр draw – указатель (имя) функции рисования. Есть возможность создания нескольких кадров вначале (требует больше памяти) и их быстрая анимации в дальнейшем. В этом случае функция draw должна возвращать число кадров или ноль для рисования по запросу. Замечу, что draw может быть равна NULL для отображения статической (текущей) картинки. Параметр title задает заголовок окна. Параметр par содержит указатель на данные, передаваемые функции рисования draw. Параметр kind может иметь следующие значения: ‘0’ – использовать окно FLTK, ‘1’ – использовать окно Qt.

В окне просмотра можно использовать клавиши: ’a’, ’d’, ’w’, ’s’ для вращения; ’,’, ’.’ для просмотра предыдущего и следующего кадров; ’r’ для переключения прозрачности; ’f’ для переключения оспещенности; ’x’ для закрытия окна.

Метод класса mglWindow: int RunThr ()
Функция С: int mgl_fltk_thr ()

Запускает цикл обработки сообщений в отдельном потоке. В данный момент работает только для окон FLTK.

Метод класса mglWindow: int Run ()
Функция С: int mgl_qt_run ()
Функция С: int mgl_fltk_run ()

Запускает цикл обработки сообщений. Обычно эта функция должна вызываться в отдельном потоке или последней функцией в main().

Метод класса mglWindow: void SetClickFunc (void (*func)(HMGL gr, void *p))
Функция С: void mgl_set_click_func (void (*func)(HMGL gr, void *p))

Устанавливает функцию, которая будет вызвана при щелчке мышью.

Метод класса mglWindow: void ToggleAlpha ()
Функция С: void mgl_wnd_toggle_alpha (HMGL gr)

Включает/выключает прозрачность, но не перекрывает ее включение в пользовательской функции рисования.

Метод класса mglWindow: void ToggleLight ()
Функция С: void mgl_wnd_toggle_light (HMGL gr)

Включает/выключает освещение, но не перекрывает его включение в пользовательской функции рисования.

Метод класса mglWindow: void ToggleRotate ()
Функция С: void mgl_wnd_toggle_rotate (HMGL gr)

Включает/выключает вращение мышкой. Нажатая левая кнопка используется для вращения, средняя для сдвига, правая для приближения/перспективы.

Метод класса mglWindow: void ToggleZoom ()
Функция С: void mgl_wnd_toggle_zoom (HMGL gr)

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

Метод класса mglWindow: void ToggleNo ()
Функция С: void mgl_wnd_toggle_no (HMGL gr)

Выключает вращение и приближение мышкой, а также восстанавливает исходный вид графика.

Метод класса mglWindow: void Update ()
Функция С: void mgl_wnd_update (HMGL gr)

Обновляет содержимое окна. Функция полезна при ручном обновлении содержимого, пока долгий расчет идет в параллельном потоке.

Метод класса mglWindow: void ReLoad ()
Функция С: void mgl_wnd_reload (HMGL gr)

Перегружает данные и обновляет рисунок. Функция также обновляет число кадров, которое создает функция рисования.

Метод класса mglWindow: void Adjust ()
Функция С: void mgl_wnd_adjust (HMGL gr)

Подгоняет размер рисунка под размер окна.

Метод класса mglWindow: void NextFrame ()
Функция С: void mgl_wnd_next_frame (HMGL gr)

Показывает следующий кадр, если он есть.

Метод класса mglWindow: void PrevFrame ()
Функция С: void mgl_wnd_prev_frame (HMGL gr)

Показывает предыдущий кадр, если он есть.

Метод класса mglWindow: void Animation ()
Функция С: void mgl_wnd_animation (HMGL gr)

Запускает/останавливает анимацию кадров.

Метод класса mglWindow: void SetDelay (double dt)
Функция С: void mgl_wnd_set_delay (HMGL gr, double dt)

Задает задержку при анимации в секундах. По умолчанию интервал – 1 секунда.

Метод класса mglWindow: double GetDelay ()
Функция С: double mgl_wnd_get_delay (HMGL gr)

Возвращает задержку при анимации в секундах.

Метод класса mglWindow: void Setup (bool clfupd=true, bool showpos=false)
Функция С: void mgl_setup_window (HMGL gr, bool clfupd, bool showpos)

Включает/выключает:

Метод класса mglWindow: mglPoint LastMousePos ()
Функция С: void mgl_get_last_mouse_pos (HMGL gr, mreal *x, mreal *y, mreal *z)

Возвращает положение щелчка мыши.


[ < ] [ > ]   [ << ] [ Up ] [ >> ]

This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.