[ < ] | [ > ] | [ << ] | [ Up ] | [ >> ] | [Top] | [Contents] | [Index] | [ ? ] |
Функции в этой группе сохраняют или дают доступ к полученному рисунку. Поэтом обычно они должны вызываться в конце рисования.
w h
mglGraph
: 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.