Раздел описывает специальные классы данных mglDataV, mglDataF, mglDataT и mglDataR, которые могут заметно ускорить рисование и обработку данных. Классы определены в #include <mgl2/data.h>. Отмечу, что все функции рисования и обработки данных можно выполнить используя только основные классы mglData и/или mglDataC. Также специальные классы доступны только в коде на С++.
mglDataV ¶представляет переменную со значениями равнораспределенными в заданном интервале.
mglDataV: mglDataV (const mglDataV & d) ¶Конструктор копирования.
mglDataV: mglDataV (long nx=1, long ny=1, long nz=1, mreal v1=0, mreal v2=NaN, char dir='x') ¶Создает переменную "размером" nxxnyxnz, изменяющуюся от v1 до v2 (или постоянную при v2=NaN) вдоль направления dir.
mglDataV: void Create (long nx=1, long ny=1, long nz=1) ¶Задает "размеры" переменной nxxnyxnz.
mglDataV: void Fill (mreal x1, mreal x2=NaN, char dir='x') ¶Задает диапазон изменения переменной.
mglDataV: void Freq (mreal dp, char dir='x') ¶Задает переменную для частоты с шагом dp.
mglDataF ¶представляет функцию, которая будет вызываться вместо обращения к элементам массива (как в классе mglData).
mglDataF: mglDataF (const mglDataF & d) ¶Конструктор копирования.
mglDataF: mglDataF (long nx=1, long ny=1, long nz=1) ¶Создает данные "размером" nxxnyxnz с нулевой функцией.
mglDataF: void Create (long nx=1, long ny=1, long nz=1) ¶Задает "размеры" данных nxxnyxnz.
mglDataF: void SetRanges (mglPoint p1, mglPoint p2) ¶Задает диапазоны изменения внутренних переменных x,y,z.
mglDataF: void SetFormula (const char *func) ¶Задает строку, которая будет разобрана в функцию. Это вариант более чем 10 раз медленнее в сравнении с SetFunc().
mglDataF: void SetFunc (mreal (*f)(mreal x,mreal y,mreal z,void *p), void *p=NULL) ¶Задает указатель на функцию, которая будет использована вместо доступа к элементам массива.
mglDataT ¶представляет именнованную ссылку на столбец в другом массиве данных.
mglDataT: mglDataT (const mglDataT & d) ¶Конструктор копирования.
mglDataT: mglDataT (const mglDataA & d, long col=0) ¶Создает ссылку на col-ый столбец данных d.
mglDataT: void SetInd (long col, wchar_t name) ¶mglDataT: void SetInd (long col, const wchar_t * name) ¶Задает ссылку на другой столбец того же массива данных.
mglDataR ¶представляет именнованную ссылку на строку в другом массиве данных.
mglDataR: mglDataR (const mglDataR & d) ¶Конструктор копирования.
mglDataR: mglDataR (const mglDataA & d, long row=0) ¶Создает ссылку на row-ую строку данных d.
mglDataR: void SetInd (long row, wchar_t name) ¶mglDataR: void SetInd (long row, const wchar_t * name) ¶Задает ссылку на другой столбец того же массива данных.
mglDataW ¶представляет часоту для FFT в виде массива данных.
mglDataW: mglDataW (const mglDataW & d) ¶Конструктор копирования.
mglDataW: mglDataW (long xx=1, long yy=1, long zz=1, double dp=0, char dir='x') ¶Задает размеры, направление dir и шаг dp для частоты.
mglDataR: void Freq (double dp, char dir='x') ¶Равномерно распределяет данные с шагом dp в направлении dir.
mglDataS ¶представляет std::vector в виде массива данных.
mglDataS: std::vector<mreal> dat ¶Собственно данные.
mglDataS: mglDataS (const mglDataS & d) ¶Конструктор копирования.
mglDataS: mglDataS (const std::vector<mreal> & d) ¶Копирует данные из d.
mglDataS: mglDataS (size_t s) ¶Выделяет память для s элементов.
mglDataS: void reserve (size_t num) ¶Резервирует место для num элементов.
mglDataS: void push_back (double v) ¶Добавляет значение v к концу массива данных.