| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Функции в этой группе сохраняют или дают доступ к полученному рисунку. Поэтом обычно они должны вызываться в конце рисования.
w hmglGraph: void SetSize (int width, int height)void mgl_set_size (HMGL gr, int width, int height)Изменяет размер картинки в пикселях. Функция должна вызываться перед любыми функциями построения потому что полностью очищает содержимое рисунка.
val=2]mglGraph: void SetQuality (int val=MGL_DRAW_NORM)void mgl_set_quality (HMGL gr, int val)Задает качество графика в зависимости от значения val: MGL_DRAW_WIRE=0 – нет рисования граней (наиболее быстрый), MGL_DRAW_FAST=1 – нет интерполяции цвета (быстрый), MGL_DRAW_NORM=2 – высокое качество (нормальный), MGL_DRAW_HIGH=3 – высокое качество с рисованием 3d примитивов (стрелок и маркеров). Если установлен бит MGL_DRAW_LMEM=0x4, то происходит прямое рисование в растровое изображение (меньше затраты памяти).
mglGraph: int GetQuality ()void mgl_get_quality (HMGL gr)Возвращает качество графика: MGL_DRAW_WIRE=0 – нет рисования граней (наиболее быстрый), MGL_DRAW_FAST=1 – нет интерполяции цвета (быстрый), MGL_DRAW_NORM=2 – высокое качество (нормальный), MGL_DRAW_HIGH=3 – высокое качество с рисованием 3d примитивов (стрелок и маркеров). Если установлен бит MGL_DRAW_LMEM=0x4, то происходит прямое рисование в растровое изображение (меньше затраты памяти).
mglGraph: void StartGroup (const char *name)void mgl_start_group (HMGL gr, const char *name)Начинает определение группы. Группа может содержать объекты и другие группы. Они используются для выбора части модели при приближении, изменении прозрачности и т.д.
mglGraph: void EndGroup ()void mgl_end_group (HMGL gr)Завершает определение группы.
| 4.5.1 Экспорт в файл | ||
| 4.5.2 Кадры/Анимация | ||
| 4.5.3 Рисование в памяти | ||
| 4.5.4 Распараллеливание |
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции экспортируют текущую картинку (кадр) в файл. Имя файла fname должно иметь соответствующее расширение. Параметр descr дает краткое описание картинки. Пока прозрачность поддерживается только для форматов PNG, SVG, OBJ и PRC.
mglGraph: void WriteFrame (const char *fname="", const char *descr="")void mgl_write_frame (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в файл fname с типом, определяемым по расширению. Параметр descr добавляет описание (может быть пустым). Если fname пустой, то используется имя ‘frame####.jpg’, где ‘####’ – текущий номер кадра и имя ‘frame’ определяется переменной plotid.
mglGraph: void WritePNG (const char *fname, const char *descr="", int compr="", bool alpha=true)void mgl_write_png (HMGL gr, const char *fname, const char *descr)void mgl_write_png_solid (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в PNG файл. Параметры функции следующие: fname – имя файла, descr – описание файла, alpha – прозрачность фона. Если при компиляции MathGL не был определен флаг HAVE_PNG, то экспорт в файл не производится.
mglGraph: void WriteJPEG (const char *fname, const char *descr="")void mgl_write_jpg (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в JPEG файл. Параметры функции следующие: fname – имя файла, descr – описание файла. Если при компиляции MathGL не был определен флаг HAVE_JPEG, то экспорт в файл не производится.
mglGraph: void WriteGIF (const char *fname, const char *descr="")void mgl_write_gif (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в GIF файл. Параметры функции следующие: fname – имя файла, descr – описание файла. Если при компиляции MathGL не был определен флаг HAVE_GIF, то экспорт в файл не производится.
mglGraph: void WriteBMP (const char *fname, const char *descr="")void mgl_write_bmp (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в BMP файл. Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void WriteTGA (const char *fname, const char *descr="")void mgl_write_tga (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в TGA файл. Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void WriteEPS (const char *fname, const char *descr="")void mgl_write_eps (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в EPS файл, используя векторное представление графика. Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Если имя файла оканчивается на ‘z’ (например, ‘fname.eps.gz’), то файл автоматически архивируется в формате gzip.
mglGraph: void WriteBPS (const char *fname, const char *descr="")void mgl_write_eps (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в EPS файл, используя растровое представление графика. Параметры функции следующие: fname – имя файла, descr – описание файла. Если имя файла оканчивается на ‘z’ (например, ‘fname.eps.gz’), то файл автоматически архивируется в формате gzip.
mglGraph: void WriteSVG (const char *fname, const char *descr="")void mgl_write_svg (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в SVG файл, используя векторное представление графика. Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Если имя файла оканчивается на ‘z’ (например, ‘fname.svgz’), то файл автоматически архивируется в формате gzip.
mglGraph: void WriteTEX (const char *fname, const char *descr="")void mgl_write_tex (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в LaTeX файл (пакет Tikz/PGF), используя векторное представление графика. Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Отмечу, что сейчас отсутствует изменение размера текста (например, в subplot), что может приводить к неправильному положению надписей.
mglGraph: void WritePRC (const char *fname, const char *descr="", bool make_pdf=true)void mgl_write_prc (HMGL gr, const char *fname, const char *descr, int make_pdf)Экспортирует текущий кадр в PRC файл, используя векторное представление графика (см. http://en.wikipedia.org/wiki/PRC_%28file_format%29). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла. Если параметр make_pdf=true и PDF был выбран при конфигурировании MathGL, то также создается соответствующий PDF файл с 3D изображением.
mglGraph: void WriteOBJ (const char *fname, const char *descr="")void mgl_write_obj (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в OBJ/MTL файл, используя векторное представление графика (см. OBJ формат). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void WriteXYZ (const char *fname, const char *descr="")void mgl_write_xyz (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в XYZ/XYZL/XYZF файлы, используя векторное представление графика (см. XYZ формат). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void WriteSTL (const char *fname, const char *descr="")void mgl_write_stl (HMGL gr, const char *fname, const char *descr)Экспортирует текущий кадр в STL файл, используя векторное представление графика (см. STL формат). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void WriteOFF (const char *fname, const char *descr="", bool colored=false)void mgl_write_off (HMGL gr, const char *fname, const char *descr, bool colored)Экспортирует текущий кадр в OFF файл, используя векторное представление графика (см. OFF формат). Вследствие чего не рекомендуется сохранять большие графики (поверхности, а особенно поверхности уровня) из-за большого размера файла. Хотя никаких внутренних ограничений на размер выходного файла нет. Для них лучше использовать растровый формат (например, PNG или JPEG). Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void ShowImage (const char *viewer, bool nowait=false)void mgl_show_image (const char *viewer, int nowait)Отображает текущий кадр используя внешнюю программу просмотра viewer. Функция сохраняет картинку во временный файл и вызывает viewer для его отображения. Если nowait=true, то функция возвращает управление немедленно – не ждет пока окно просмотра будет закрыто.
mglGraph: void WriteJSON (const char *fname, const char *descr="")void mgl_write_json (HMGL gr, const char *fname, const char *descr)Экспортирует точки и примитивы в текстовый файл используя JSON format. В дальнейшем этот файл можно загрузить и просмотреть в JavaScript скрипте. Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void ExportMGLD (const char *fname, const char *descr="")void mgl_export_mgld (HMGL gr, const char *fname, const char *descr)Экспортирует точки и примитивы в файл MGLD format. В дальнейшем этот файл можно загрузить и просмотреть с помощью mglview. Параметры функции следующие: fname – имя файла, descr – описание файла.
mglGraph: void ImportMGLD (const char *fname, bool add=false)void mgl_import_mgld (HMGL gr, const char *fname, int add)Импортирует точки и примитивы из файла в MGLD format. Параметры функции следующие: fname – имя файла, add – флаг добавления или замены существующих точек и примитивов.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции позволяют создавать несколько картинок одновременно. В большинстве случаев это бесполезно, но для органов управления (см. “Оконные” классы) это позволяет показывать анимацию. Также можно записать несколько кадров в анимированный GIF файл.
mglGraph: void NewFrame ()void mgl_new_frame (HMGL gr)Создает новый кадр. Функция возвращает номер текущего кадра. В режиме OpenGL функция не должны вызываться в параллельных потоках! – используйте прямое создание списка. Функция EndFrame() должна быть вызвана после рисования кадра для каждого вызова этой функции.
mglGraph: void EndFrame ()void mgl_end_frame (HMGL gr)Завершает рисование кадра.
mglGraph: int GetNumFrame ()int mgl_get_num_frame (HMGL gr)Возвращает число созданных кадров.
mglGraph: void GetFrame (int i)void mgl_get_frame (HMGL gr, int i)Завершает рисование кадра и сохраняет объекты рисования в кадр с номером i, который должен быть в диапазоне [0, GetNumFrame()-1]. Функция аналогична EndFrame(), но не добавляет кадр в GIF изображение.
mglGraph: void GetFrame (int i)void mgl_get_frame (HMGL gr, int i)Заменяет объекты рисования на объекты из кадра с номером i. Функция работает если установлен флаг MGL_VECT_FRAME (по умолчанию).
mglGraph: void ShowFrame (int i)void mgl_show_frame (HMGL gr, int i)Добавляет объекты рисования из кадра с номером i к уже существующим. Функция работает если установлен флаг MGL_VECT_FRAME (по умолчанию).
mglGraph: void DelFrame (int i)void mgl_del_frame (HMGL gr, int i)Удаляет объекты рисования для кадра с номером i и сдвигает нумерацию всех последующих кадров. Функция работает если установлен флаг MGL_VECT_FRAME (по умолчанию).
mglGraph: void ResetFrames ()void mgl_reset_frames (HMGL gr)Сбрасывает счетчик кадров в 0.
mglGraph: void StartGIF (const char *fname, int ms=100)void mgl_start_gif (HMGL gr, const char *fname, int ms)Начинает запись кадров в анимированный GIF файл fname. Параметр ms задает задержку между кадрами в миллисекундах. Вы не должны менять размер рисунка во время создания кино. Используйте CloseGIF() для завершения записи. Эта функция не работает в режиме OpenGL.
mglGraph: void CloseGIF ()void mgl_close_gif (HMGL gr)Завершает запись анимированного GIF файла.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Эти функции возвращают созданный растровый рисунок, его ширину и высоту. В дальнейшем его можно использовать в любой графической библиотеке (см. также, “Оконные” классы) или сохранить в файл (см. также, Экспорт в файл).
mglGraph: const unsigned char * GetRGB ()mglGraph: void GetRGB (char *buf, int size)mglGraph: void GetBGRN (char *buf, int size)const unsigned char * mgl_get_rgb (HMGL gr)Возвращает растровое изображение в формате RGB для текущего кадра. Формат каждого элемента (пикселя): {red, green, blue}. Число элементов Width*Height. Положение элемента {i,j} есть [3*i + 3*Width*j] (или [4*i + 4*Width*j] для GetBGRN()). В Python вы должны предоставить буфер buf достаточного размера size, т.е. код должен выглядеть следующим образом (для Python)
from mathgl import * gr = mglGraph(); bits='\t'; bits=bits.expandtabs(4*gr.GetWidth()*gr.GetHeight()); gr.GetBGRN(bits, len(bits));
mglGraph: const unsigned char * GetRGBA ()mglGraph: void GetRGBA (char *buf, int size)const unsigned char * mgl_get_rgba (HMGL gr)Возвращает растровое изображение в формате RGBA для текущего кадра. Формат каждого элемента (пикселя): {red, green, blue, alpha}. Число элементов Width*Height. Положение элемента {i,j} есть [4*i + 4*Width*j].
mglGraph: int GetWidth ()mglGraph: int GetHeight ()int mgl_get_width (HMGL gr)int mgl_get_height (HMGL gr)Возвращает ширину и высоту изображения.
mglGraph: mglPoint CalcXYZ (int xs, int ys)void mgl_calc_xyz (HMGL gr, int xs, int ys, mreal *x, mreal *y, mreal *z)Вычисляет 3D координаты {x,y,z} для экранной точки {xs,ys}. В данный момент игнорируется перспектива графика и формулы перехода в криволинейные координаты. Вычисления производятся для последнего использованного InPlot (см. Матрица преобразования).
mglGraph: mglPoint CalcScr (mglPoint p)void mgl_calc_scr (HMGL gr, mreal x, mreal y, mreal z, int *xs, int *ys)Вычисляет экранные координаты {xs,ys} для 3D координат {x,y,z}. Вычисления производятся для последнего использованного InPlot (см. Матрица преобразования).
mglGraph: void SetObjId (int id)void mgl_set_obj_id (HMGL gr, int id)Задает числовой идентификатор для объектов или subplot/inplot.
mglGraph: int GetObjId (int xs, int ys)int mgl_get_obj_id (HMGL gr, int xs, int ys)Возвращает числовой идентификатор верхнего объекта в точке {xs, ys} рисунка.
mglGraph: int GetSplId (int xs, int ys)int mgl_get_spl_id (HMGL gr, int xs, int ys)Возвращает числовой идентификатор верхнего "подграфика" в точке {xs, ys} рисунка.
mglGraph: void Highlight (int id)void mgl_highlight (HMGL gr, int id)Выделяет объект с заданным id.
mglGraph: long IsActive (int xs, int ys, int d=1)long mgl_is_active (HMGL gr, int xs, int ys, int d)Проверяет близка ли точка {xs, ys} к активной точке (т.е. mglBase::Act) с точностью d и возвращает индекс активной точки или -1 если не найдено. Активные точки – специальные точки, которые характеризуют примитивы (например, вершины). Это функция только для опытных пользователей.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Многие функции MathGL используют несколько потоков для ускорения работы (если MathGL была собрана с поддержкой pthread). При этом можно настраивать число используемых потоков.
int mgl_set_num_thr (int n)Задает число потоков, которое будет использовано в MathGL. При n<1 число потоков задается как максимальное число процессоров (ядер) в системе. При n=1 не используется распараллеливание.
Другая возможность – комбинирование изображений из разных объектов mglGraph. Эти методы наиболее подходят для компьютерных кластеров, когда данные настолько велики, что не могут поместиться в памяти отдельного компьютера.
mglGraph: int Combine (const mglGraph *g)int mgl_combine_gr (HMGL gr, HMGL g)Комбинирует (добавляет) рисунок из g с gr, принимая во внимание “высоту” пикселей. Ширина и высота обоих рисунков должна быть одинаковы.
mglGraph: int MPI_Send (int id)int mgl_mpi_send (HMGL gr, int id)Посылает рисунок из компьютера (ноды) id, используя MPI. Ширина и высота обоих рисунков должна быть одинаковы.
mglGraph: int MPI_Recv (int id)int mgl_mpi_send (HMGL gr, int id)Принимает рисунок из компьютера (ноды) id, используя MPI. Ширина и высота обоих рисунков должна быть одинаковы.
| [ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] |
This document was generated by Autobuild on September 28, 2013 using texi2html 1.82.