CmaSubMatrix();Создание новой подматрицы.
Код ошибки:
MA_ERR_NOINTERFACE если не удалось создать компонент (не вызван CoInitialize() или не зарегистрирован maCom)CmaSubMatrix (ImaMatrix *matrix);Присоединение класса к существующей подматрице, заданной интерфейсом matrix.
Код ошибки:
MA_ERR_NOINTERFACE если matrix не является подматрицейCmaSubMatrix (const CmaSubMatrix &matrix);Присоединение класса к существующей подматрице, заданной в классе matrix.
CmaSubMatrix (CmaCell &cell);Присоединение класса к существующей подматрице, хранящейся в ячейке cell.
Код ошибки:
MA_ERR_NOINTERFACE если в ячейке хранится не подматрица~CmaSubMatrix ();Уменьшение числа ссылок на интерфейс и уничтожение объекта.
ImaMatrix* Parent(); void Parent(CmaMatrix& par);Функции позволяют считывать и записывать указатель на родительскую матрицу.
void ClearStructure();Сбрасывает преобразование индекса так, что преобразование индекса не производится.
bool VerifyStructure();Функция проверяет правильность задания преобразования: каждой незафиксированной размерности родительской матрицы должна соответствовать размерность в подматрице. Возвращает true, если преобразование задано правильно.
void SetDim(int parentDim,int dim,int size,int *index);Функция устанавливает соответствие между размерностью parentDim родительской матрицы и размерностью dim подматрицы.
Код ошибки:
MA_ERR_BAD_PARAM если parentDim или dim больше размерности соответственно родительской и данной матрицыvoid FixDim(int parentDim,int index);Функция фиксирует размерность parentDim родительской матрицы и делает ее равной index.
Код ошибки:
MA_ERR_BAD_PARAM если parentDim больше, чем размерность родительской матрицыvoid SetIdentityDim(int dim);Функция увеличивает размерность подматрицы, добавляя размерность длины 1. Параметр dim - номер добавляемой размерности. При добавлении существующие размерности dim, dim+1,dim+2... "сдвигаются" на одну, сохраняя соответствия с размерностями родительской матрицы