Чтение и изменение размеров и типа матрицы
Работа с пустыми значениями
Чтение и запись
Буферизация
Итераторы
HRESULT Create ([in] maIndex sizes)Функция создаёт матрицу заданной размерности и размеров. Если матрица уже содержит данные, то они уничтожаются. Тип значений матрицы определяется компонентом с этим интерфейсом.
Параметры:
sizes размерность и размеры матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT CreateShared([in] maIndex sizes, [in,string] maString name,[in] int maxSize)Функция позволяет создавать и использовать матрицы, размещенные в разделяемой памяти.
Параметры:
sizes размерность и размеры матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT Resize([in] maIndex sizes);Функция изменяет размер матрицы на заданные параметром sizes. Если матрица уже содержит данные, то они уничтожаются.
Параметры:
sizes новые размеры матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT GetDim ([out,retval] int* dim)Функция возвращает размерность матрицы.
Параметры:
dim Указатель на возвращаемое значениеВозвращаемое значение:
MA_NOERROR всегдаHRESULT GetSize ([in] int dimno, [out,retval] int* size)Функция возвращает размер матрицы по координате dimno. Координата может принимать значения от 0 до (dim-1), где dim — размерность матрицы, выдаваемая Dim.
Параметры:
dim Указатель на возвращаемое значениеВозвращаемое значение:
MA_NOERROR всегдаHRESULT GetType([out,retval] maType* type)Функция возвращает тип значений, хранящихся в матрице.
Параметры:
dim Указатель на возвращаемое значениеВозвращаемое значение:
MA_NOERROR всегдаfalse
.
HRESULT SetEmpty([in] maIndex index)Функция записывает в матрицу пустое значение. Если матрица не поддерживает пустые значения, то вызов функции игнорируется.
Параметры:
index координата элемента матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT IsEmpty([in] maIndex index)Функция проверяет, будет ли значение ячейки матрицы пустым и возвращает MA_TRUE или MA_FALSE. Если матрица не поддерживает пустые значения, то функция возвращает MA_FALSE.
Параметры:
index координаты ячейки матрицыВозвращаемое значение:
MA_TRUE если ячейка матрицы пустаHRESULT SetEmptyDoubleValue([in] double value) HRESULT SetEmptyStringValue([in] maString value) HRESULT SetEmptyLongValue([in] int value)Функции устанавливают константы, которые играют роль "пустых" значений. Эти константы выдаются, если считываемое из матрицы значение пустое, и запись этих констант приводит к записи в матрицу пустого значения. Эти константы не являются глобальными и их можно изменять в процессе работы с матрицей, при этом пустые значения в матрице остаются пустыми.
Параметры:
value константа, которая возвращается вместо "пустых" значенийВозвращаемое значение:
MA_NOERROR всегдаЗамечание:
По умолчанию пустое числовое значение естьNaN
,
пустое строковое значение есть строка нулевой длины.
HRESULT GetCell ([in] maIndex index, [out] ImaCell** pCell) HRESULT SetCell ([in] maIndex index, [in] ImaCell* cell)Функции чтения и записи ячейки матрицы. Если в матрице считываемый элемент пустой, то тип cell устанавливается в MA_EMPTY. При записи значения типа MA_EMPTY в матрицы записывается "пропуск".
Параметры:
index координаты ячейки матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT GetAsDouble ( [in] maIndex index, [out,retval] double* value) HRESULT GetAsString ( [in] maIndex index, [out,retval] maString* value) HRESULT GetAsLong ( [in] maIndex index, [out,retval] int* value)Функции чтения значений из матрицы. При необходимости выполняется необходимое преобразование данных.
Параметры:
index координаты ячейки матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT SetAsDouble ( [in] maIndex index, [in] double value) HRESULT SetAsString ( [in] maIndex index, [in,string] maString value) HRESULT SetAsLong ( [in] maIndex index, [in] int value)Функции записи значения в матрицу. При необходимости выполняется необходимое преобразование данных.
Параметры:
index координаты ячейки матрицыВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT Clear ()Функция очищает матрицу, заполняя ее пустыми значениями или значениями по умолчанию. Размеры матрицы не меняются.
Возвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT CacheMatrix([in] byte cacheMode,[in] ImaMatrix* source)Функция позволяет использовать данную матрицу как буфер для матрицы source или отключить буферизацию, если source==NULL. При включении буферизации все данные в матрице уничтожаются и размер матрицы становится равным размеру source. Параметр cacheMode выбирает режим буферизации:
Параметры:
cacheMode режим буферизацииВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT Commit()Функция передает данные в/из буферизуемой матрицы. Конкретное действие этой функции зависит от режима буферизации:
Возвращаемое значение:
MA_NOERROR всегдаHRESULT CreateIter([out,retval] int* iterno)Функция создает новый итератор. Для одной матрицы можно создать несколько итераторов.
Параметры:
iterno идентификатор созданного итератораВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT DeleteIter([in] int iterno)Функция удаляет созданный ранее итератор.
Параметры:
iterno идентификатор ранее созданного итератораВозвращаемое значение:
MA_NOERROR всегдаHRESULT FirstIter([in] int iterno,[in,out] maIndex* index)Функция устанавливает итератор iterno на начало просмотра и возвращает индекс первого непустого элемента.
Параметры:
iterno идентификатор итератораВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT NextIter ([in] int iterno,[in,out] maIndex* index)Функция устанавливает итератор iterno на следующий непустой элемент и возвращает его индекс.
Параметры:
iterno идентификатор итератораВозвращаемое значение:
MA_NOERROR при отсутствии ошибокHRESULT GetIter ([in] int iterno,[in,out] maIndex* index)Функция возвращает индекс текущего элемента итератора iterno. Если последний вызов FirstIter или NextIter вернул MA_NOERROR, возвращается тот же индекс, который вернул последний вызов FirstIter или NextIter с данным iterno; иначе результат функции неопределен.
Параметры:
iterno идентификатор итератораВозвращаемое значение:
MA_NOERROR всегда