MathGL имеет интерфейс на основе классов (объектов с членами-функциями) с использованием библиотеки SWIG. Типичный пример – Python, имя которого использовано в заголовке раздела. В точности те же классы используются и в C++ API. Отмечу, что С++ классы содержат только inline члены-функции, что делает С++ API независимым от компилятора даже для бинарной версии.
Есть 3 основных класса:
mglGraph
– обеспечивает вывод графики (см. Ядро MathGL).
mglData
– обеспечивает обработку данных (см. Обработка данных). Класс имеет возможность прямого доступа к данным с помощью конструкции вида: dat[i]=sth;
или sth=dat[i]
, где используется "плоское" представление данных (т.е., i может быть в диапазоне 0...nx*nx*nz-1). Также можно импортировать массивы NumPy в Python: mgl_dat = mglData(numpy_dat);
.
mglParse
– обеспечивает выполнение скриптов MGL (см. Скрипты MGL).
Для использования в Python достаточно выполнить ‘import mathgl’. Простейший пример имеет вид:
import mathgl a=mathgl.mglGraph() a.Box() a.WritePNG("test.png")
Также можно импортировать все классы из модуля mathgl
и обеспечить более легкий доступ к MathGL:
from mathgl import * a=mglGraph() a.Box() a.WritePNG("test.png")
Это становится более полезным если, например, вы создаете много объектов данных mglData
.