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

5. “Оконные” классы

Есть целый набор “оконных” классов для создания окон с графикой MathGL: mglGraphFLTK, mglGraphQT, mglGraphGLUT. Все эти классы позволяют пользователю просмотривать, вращать, экспортировать рисунок. Большинство из них (кроме mglGraphGLUT) являются наследниками класса mglGraphZB и используют “присоединенный” класс для центрального виджета окна. Все оконные классы имеют схожий набор функций (see section Класс mglGraphAB). Ниже приведен список классов с краткими комментариями.

Class: mglGraphFLTK

Создает окно используя библиотеку FLTK. Окно имеет панель инструментов и меню для упрощения действий с графиками. “Присоединенный” класс элемента интерфейса – Fl_MathGL. Класс определен в #include <mgl/mgl_fltk.h>.

Class: Fl_MathGL

Класс реализует элемент интерфейса FLTK для отображения графики MathGL. Класс определен в #include <mgl/mgl_fltk.h>.

fltk

Пример окна FLTK с графикой MathGL.

Class: mglGraphQT

Создает окно используя библиотеку Qt. Окно имеет панель инструментов и меню для упрощения действий с графиками. “Присоединенный” класс элемента интерфейса – QMathGL. Класс определен в #include <mgl/mgl_qt.h>.

Class: QMathGL

Класс реализует элемент интерфейса Qt для отображения графики MathGL. Класс определен в #include <mgl/mgl_qt.h>.

qt

Пример окна Qt с графикой MathGL.

Class: mglGraphGLUT

Создает окно используя библиотеку GLUT. Класс определен в #include <mgl/mgl_glut.h>.

glut

Пример окна GLUT с графикой MathGL.


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

5.1 Класс Fl_MathGL

Класс реализует элемент интерфейса FLTK для отображения графики MathGL (определен в #include <mgl/mgl_fltk.h>).

Method on Fl_MathGL: void set_draw (mglDraw *dr)

Задает функцию рисования из класса производного от mglDraw.

Method on Fl_MathGL: void update (mglGraph *gr=NULL)

Обновляет (перерисовывает) график, используя экземпляр класса gr (по умолчанию встроенный).

Method on Fl_MathGL: void set_angle (float t, float p)

Задает углы для дополнительного вращения графика.

Method on Fl_MathGL: void set_state (int f)

Задает битовые флаги для: 1 - прозрачности, 2 - освещения.

Method on Fl_MathGL: void set_state (bool z, bool r)

Задает флаги обработки движений мыши: z=true – разрешает приближение выделения, r=true разрешает вращение/сдвиг/приближение/перспективу.

Method on Fl_MathGL: void set_zoom (float X1, float Y1, float X2, float Y2)

Задает область приближения.

Method on Fl_MathGL: void get_zoom (float *X1, float *Y1, float *X2, float *Y2)

Возвращает область приближения.

Method on Fl_MathGL: void set_popup (const Fl_Menu_Item *pmenu, Fl_Widget *w, void *v)

Задает указатель на всплывающее меню.

Method on Fl_MathGL: mglGraph * get_graph ()

Возвращает указатель на класс, строящий графики.

Widget option of Fl_MathGL: Fl_Valuator * tet_val

Указатель на внешний элемент управления для изменения угла tet.

Widget option of Fl_MathGL: Fl_Valuator * phi_val

Указатель на внешний элемент управления для изменения угла phi.

Widget option of Fl_MathGL: mglGraphAB * graph

Указатель на экземпляр класса для построения графиков.

Widget option of Fl_MathGL: void * draw_par

Параметр для функции рисования.

Widget option of Fl_MathGL: int (* draw_func )(mglGraph *gr, void *par)

Указатель на функцию рисования.


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

5.2 QMathGL class

Класс реализует элемент интерфейса Qt для отображения графики MathGL (определен в #include <mgl/mgl_qt.h>).

Method on QMathGL: void setDraw (mglDraw *dr)

Задает функцию рисования из класса производного от mglDraw.

Method on QMathGL: void setDraw (int (*draw)(mglGraph *gr, void *p), void *par=NULL)

Задает функцию рисования draw и укзатель par на параметр для нее.

Method on QMathGL: void setGraph (mglGraphAB *gr)

Устанавливает указатель на внешний экземпляр класса для рисования (вместо встроенного mglGraphZB). Отмечу, что QMathGL автоматически удалит этот объект при удалении элемента интерфейса или при новом вызове setGraph().

Method on QMathGL: void setPopup (QMenu *p)

Задает указатель на всплывающее меню.

Method on QMathGL: void setSize (int w, int h)

Задает размеры элемента управления и картинки.

Method on QMathGL: double getRatio ()

Возвращает соотношение сторон рисунка.

Method on QMathGL: int getPer ()

Возвращает величину перспективы в процентах.

Method on QMathGL: int getPhi ()

Возвращает величину угла Phi в градусах.

Method on QMathGL: int getTet ()

Возвращает величину угла Theta в градусах.

Method on QMathGL: bool getAlpha ()

Возвращает состояние переключателя прозрачности.

Method on QMathGL: bool getLight ()

Возвращает состояние переключателя освещения.

Method on QMathGL: bool getZoom ()

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

Method on QMathGL: bool getRotate ()

Возвращает состояние переключателя вращения мышью.

Slot on QMathGL: void refresh ()

Перерисовывает (обновляет) элемент управления без вызова функции рисования.

Slot on QMathGL: void update (mglGraph *gr=NULL)

Обновляет рисунок путем вызова функции рисования.

Slot on QMathGL: void copy ()

Копирует график в буфер обмена.

Slot on QMathGL: void setPer (int val)

Задает величину перспективы.

Slot on QMathGL: void setPhi (int val)

Задает величину угла Phi.

Slot on QMathGL: void setTet (int val)

Задает величину угла Theta.

Slot on QMathGL: void setAlpha (bool val)

Включает/выключает прозрачность.

Slot on QMathGL: void setLight (bool val)

Включает/выключает освещение.

Slot on QMathGL: void setZoom (bool val)

Включает/выключает приближение мышью.

Slot on QMathGL: void setRotate (bool val)

Включает/выключает вращение мышью.

Slot on QMathGL: void zoomIn ()

Приблиажет график.

Slot on QMathGL: void zoomOut ()

Отдаляет график.

Slot on QMathGL: void restore ()

Восстанавливает приближение и поворот графика в значения по умолчанию.

Slot on QMathGL: void reload ()

Обновляет данные и перерисовывает график.

Slot on QMathGL: void shiftLeft ()

Сдвигает график влево.

Slot on QMathGL: void shiftRight ()

Сдвигает график вправо.

Slot on QMathGL: voidshiftUp ()

Сдвигает график вверх.

Slot on QMathGL: void shiftDown ()

Сдвигает график вниз.

Slot on QMathGL: void exportPNG (QString fname="")

Сохраняет текущий рисунок в PNG файл.

Slot on QMathGL: void exportPNGs (QString fname="")

Сохраняет текущий рисунок в PNG файл без прозрачности.

Slot on QMathGL: void exportJPG (QString fname="")

Сохраняет текущий рисунок в JPEG файл.

Slot on QMathGL: void exportBPS (QString fname="")

Сохраняет текущий рисунок в растровый EPS файл. Export current picture to bitmap EPS file.

Slot on QMathGL: void exportEPS (QString fname="")

Сохраняет текущий рисунок в векторный EPS файл.

Slot on QMathGL: void exportSVG (QString fname="")

Сохраняет текущий рисунок в векторный SVG файл.

Slot on QMathGL: void exportIDTF (QString fname="")

Сохраняет текущий рисунок в IDTF файл.

Slot on QMathGL: void setMGLFont (QString path)

Восстанавливает (path="") или загружает файлы шрифтов.

Slot on QMathGL: void print ()

Печатает текущий рисунок.

Slot on QMathGL: void adjust ()

Подгоняет размер картинки под размер окна. Функция выполняется только если graph – экземпляр класса mglGraphQT.

Slot on QMathGL: void nextSlide ()

Показывает следующий кадр. Функция выполняется только если graph – экземпляр класса mglGraphQT.

Slot on QMathGL: void prevSlide ()

Показывает предыдущий кадр. Функция выполняется только если graph – экземпляр класса mglGraphQT.

Slot on QMathGL: void animation (bool st=true)

Запускает анимацию. Функция выполняется только если graph – экземпляр класса mglGraphQT.

Slot on QMathGL: void about ()

Показывает информацию о программе.

Slot on QMathGL: void aboutQt ()

Показывает информацию о версии Qt.

Signal on QMathGL: void phiChanged (int val)

Угол Phi изменен.

Signal on QMathGL: void tetChanged (int val)

Угол Tet изменен.

Signal on QMathGL: void perChanged (int val)

Перспектива изменена.

Signal on QMathGL: void alphaChanged (bool val)

Прозрачность изменена.

Signal on QMathGL: void lightChanged (bool val)

Освещение изменено.

Signal on QMathGL: void zoomChanged (bool val)

Режим приближения мышью изменен.

Signal on QMathGL: void rotateChanged (bool val)

Режим вращения мышью изменен.

Widget option of QMathGL: QString appName

Имя приложения для окон сообщений.

Widget option of QMathGL: bool autoResize

Разрешить изменять размер рисунка (по умолчанию false).

Widget option of QMathGL: int animDelay

Задержка анимации в мсек.


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

This document was generated by Build Daemon user on August 8, 2012 using texi2html 1.82.