Это абстрактный класс производный от класса mglGraph (см. Ядро MathGL). Он определен в #include <mgl2/wnd.h>
. Класс содержит методы для создания и управления окном, содержащим графику MathGL. Производные от него классы существует отдельно для каждой библиотеки виджетов: mglQT
в #include <mgl2/qt.h>
, mglFLTK
в #include <mgl2/fltk.h>
.
mglWnd
: int
Run ()
¶int
mgl_qt_run ()
¶int
mgl_fltk_run ()
¶Запускает цикл обработки сообщений. Обычно эта функция должна вызываться в отдельном потоке или последней функцией в main()
.
mglWnd
: void
SetDrawFunc (int
(*draw)(HMGL
gr, void *
p), void *
par=NULL
, void
(*reload)(void *
p)=NULL
)
¶mglWnd
: void
SetDrawFunc (int
(*draw)(mglGraph *
gr))
¶mglWnd
: void
SetDrawFunc (mglDraw *
obj)
¶void
mgl_wnd_set_func (HMGL
gr, int
(*draw)(HMGL
gr, void *
p), void *
par, void
(*reload)(void *
p))
¶Устанавливает функцию, которая будет вызвана при перерисовке (draw) и при повторной загрузке данных (reload), или объект obj класса, производного от mglDraw
.
mglWnd
: void
SetClickFunc (void
(*func)(HMGL
gr, void *
p))
¶void
mgl_set_click_func (void
(*func)(HMGL
gr, void *
p))
¶Устанавливает функцию, которая будет вызвана при щелчке мышью.
mglWnd
: void
SetMutex(pthread_mutex_t *
mutex) ¶void
mgl_wnd_set_mutex(HMGL
gr, pthread_mutex_t *
mutex)
¶Устанавливает внешний mutex для блокировки/разблокировки внешних вычислений с помощью меню или кнопок окна. Функция вызывается автоматически при использовании mglDraw class.
mglWnd
: void
ToggleAlpha ()
¶void
mgl_wnd_toggle_alpha (HMGL
gr)
¶Включает/выключает прозрачность, но не перекрывает ее включение в пользовательской функции рисования.
mglWnd
: void
ToggleLight ()
¶void
mgl_wnd_toggle_light (HMGL
gr)
¶Включает/выключает освещение, но не перекрывает его включение в пользовательской функции рисования.
mglWnd
: void
ToggleRotate ()
¶void
mgl_wnd_toggle_rotate (HMGL
gr)
¶Включает/выключает вращение мышкой. Нажатая левая кнопка используется для вращения, средняя для сдвига, правая для приближения/перспективы.
mglWnd
: void
ToggleZoom ()
¶void
mgl_wnd_toggle_zoom (HMGL
gr)
¶Включает/выключает приближение мышкой. Выделите прямоугольную область и она будет приближена.
mglWnd
: void
ToggleNo ()
¶void
mgl_wnd_toggle_no (HMGL
gr)
¶Выключает вращение и приближение мышкой, а также восстанавливает исходный вид графика.
mglWnd
: void
Update ()
¶void
mgl_wnd_update (HMGL
gr)
¶Обновляет содержимое окна. Функция полезна при ручном обновлении содержимого, пока долгий расчет идет в параллельном потоке.
mglWnd
: void
ReLoad ()
¶void
mgl_wnd_reload (HMGL
gr)
¶Перегружает данные и обновляет рисунок. Функция также обновляет число кадров, которое создает функция рисования.
mglWnd
: void
Adjust ()
¶void
mgl_wnd_adjust (HMGL
gr)
¶Подгоняет размер рисунка под размер окна.
mglWnd
: void
NextFrame ()
¶void
mgl_wnd_next_frame (HMGL
gr)
¶Показывает следующий кадр, если он есть.
mglWnd
: void
PrevFrame ()
¶void
mgl_wnd_prev_frame (HMGL
gr)
¶Показывает предыдущий кадр, если он есть.
mglWnd
: void
Animation ()
¶void
mgl_wnd_animation (HMGL
gr)
¶Запускает/останавливает анимацию кадров.
mglWnd
: void
SetDelay (double
dt)
¶void
mgl_wnd_set_delay (HMGL
gr, double
dt)
¶Задает задержку при анимации в секундах. По умолчанию интервал – 1 секунда.
mglWnd
: double
GetDelay ()
¶double
mgl_wnd_get_delay (HMGL
gr)
¶Возвращает задержку при анимации в секундах.
mglWnd
: void
Setup (bool
clfupd=true
, bool
showpos=false
)
¶void
mgl_setup_window (HMGL
gr, bool
clfupd, bool
showpos)
¶Включает/выключает:
mglWnd
: mglPoint
LastMousePos ()
¶void
mgl_get_last_mouse_pos (HMGL
gr, mreal *
x, mreal *
y, mreal *
z)
¶Возвращает положение щелчка мыши.
mglWnd
: void *
Widget ()
¶void *
mgl_fltk_widget (HMGL
gr)
¶void *
mgl_qt_widget (HMGL
gr)
¶Возвращает указатель на виджет (Класс Fl_MathGL or Класс QMathGL), используемый для рисования.