6.4 Класс QMathGL

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

Пример окна Qt с графикой MathGL.
Method on QMathGL: void setDraw (mglDraw *dr)

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

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

Задает функцию рисования draw. Поддерживается список графиков (кадров), так что можно вначале их нарисовать (требует довольно много памяти), а потом достаточно быстро отображать. Функция должна возвращать положительное число создаваемых кадров или ноль для непосредственного рисования. Параметр par содержит указатель на данные пользователя, передаваемый функции рисования draw.

Method on QMathGL: void setGraph (mglCanvas *gr)
Method on QMathGL: void setGraph (mglGraph *gr)

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

Method on QMathGL: HMGL getGraph ()

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

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 ()

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

Slot on QMathGL: void copy ()

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

Slot on QMathGL: void copyClickCoor ()

Копирует координаты щелчка мышью (как текст).

Slot on QMathGL: void print ()

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

Slot on QMathGL: void stop ()

Посылает сигнал остановки рисования.

Slot on QMathGL: void adjust ()

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

Slot on QMathGL: void nextSlide ()

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

Slot on QMathGL: void prevSlide ()

Показывает предыдущий кадр.

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

Запускает анимацию.

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 setGrid (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 shiftLeft ()

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

Slot on QMathGL: void shiftRight ()

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

Slot on QMathGL: void shiftUp ()

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

Slot on QMathGL: void shiftDown ()

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

Slot on QMathGL: void restore ()

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

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 файл.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Slot on QMathGL: void setUsePrimitives (bool use)

Разрешает использовать список примитивов для кадров. Это позволяет вращать/масштабировать кадры, но требует значительно больше памяти. По умолчанию разрешено (=true).

Slot on QMathGL: void setMGLFont (QString path)

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

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 gridChanged (bool val)

Рисование сетки изменено.

Signal on QMathGL: void zoomChanged (bool val)

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

Signal on QMathGL: void rotateChanged (bool val)

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

Signal on QMathGL: void mouseClick (mreal x, mreal y, mreal z)

Был щелчок мышью в точке {x,y,z}.

Signal on QMathGL: void frameChanged (int val)

Требуется новый кадр для отображения.

Signal on QMathGL: void showWarn (QString warn)

Есть предупреждения.

Signal on QMathGL: void posChanged (QString pos)

Положение щелчка мышью изменилось.

Signal on QMathGL: void objChanged (int id)

Изменился id объекта на графике (из-за щелчка мышью).

Signal on QMathGL: void refreshData ()

Данные могли измениться (рисование завершено).

QMathGL option of QMathGL: QString appName

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

QMathGL option of QMathGL: bool autoResize

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