Обычно вы должны сбросить признак ошибки с помощью SetWarn(0); перед построением и проверить GetWarnCode() или Message() на наличие ошибок после построения. Только последнее предупреждение сохраняется. Замечу, что все предупреждения/ошибки в MathGL не являются критичными – в худшем из вариантов соответствующий график просто не будет построен. По умолчанию, все предупреждения выводятся в stderr. Этот вывод можно выключить вызовом mgl_suppress_warn(true);.
mglGraph: void SetWarn (int code, const char *info="") ¶void mgl_set_warn (HMGL gr, int code, const char *info) ¶Задает код предупреждения. Обычно вызывается только для очистки предупреждений (SetWarn(0);) или внутри библиотеки. Текст info будет добавлен к предупреждениям как есть при code<0.
mglGraph: const char *Message () ¶const char *mgl_get_mess (HMGL gr) ¶ mgl_get_mess (long gr, char *out, int len) ¶Возвращает текст предупреждений о причине отсутствия графика. Если возвращаемая строка пустая, то сообщений нет.
mglGraph: int GetWarn () ¶int mgl_get_warn (HMGL gr) ¶Возвращает код сообщения о причине отсутствия графика. Возможные значения:
mglWarnNone=0Предупреждений нет
mglWarnDimНеправильные или несовместимые размеры данных
mglWarnLowРазмеры данных слишком малы
mglWarnNegМинимальное значение отрицательно
mglWarnFileФайл не найден или указаны неправильные размерности
mglWarnMemНе достаточно памяти
mglWarnZeroЗначение данных равно нулю
mglWarnLegНет записей в легенде
mglWarnSlcИндекс среза вне данных
mglWarnCntЧисло линий уровня меньше или равно нулю
mglWarnOpenНе могу открыть файл
mglWarnLIdLight: ID вне допустимых значений
mglWarnSizeSetsize: размер(ы) равны нулю или отрицательны
mglWarnFmtФормат не поддерживается
mglWarnTernДиапазоны осей несовместимые
mglWarnNullУказатель равен NULL
mglWarnSpcНе хватает места для графика
mglScrArgНеправильные аргументы команды скрипта MGL
mglScrCmdНеправильная команда в скрипте MGL
mglScrLongСлишком длинная строка в скрипте MGL
mglScrStrОдиночная ’ в скрипте MGL
mglScrTempИзменяется временная переменная в MGL скрипте
mglGraph: void SuppressWarn (bool state) static ¶void mgl_suppress_warn (int state) ¶Выключает вывод предупреждений в stderr если state не ноль.
mglGraph: void SetGlobalWarn (const char *info) static ¶void mgl_set_global_warn (const char *info) ¶Задает предупреждение info, не привязанное к конкретному объекту рисования.