При использовании этого класса для чтения или записи данных происходит преобразование индекса ячейки, заданное с помощью фукнций класса, и затем выполняется запись или считывание в/из родительской матрицы по преобразованному индексу.
Свойства и функции класса TmaSubMatrix
- constructor Create
- constructor Create(matrix: ImaSubMatrix)
- constructor Create(matrix: ImaMatrix)
- constructor Create(cell: TmaCell)
- property Parent: TmaMatrix
- procedure ClearStructure
- function VerifyStructure: Boolean
- procedure SetDim(parentDim: integer; dim: integer; Size: integer)
- procedure SetDim(parentDim: integer; dim: integer; Size: integer; index: PInteger)
- procedure FixDim(parentDim: integer; index: integer)
- procedure SetIdentityDim(dim:integer)
constructor CreateСоздание новой подматрицы.
constructor Create(matrix: ImaSubMatrix)Присоедимяет класс к уже существующему классу с интерфейсом ImaSubMatrix.
Параметры:
matrix указатель на существующий интерфейсconstructor Create(matrix: ImaMatrix)Присоедимяет класс к уже существующему классу с интерфейсом ImaMatrix. Класс должен поддерживать интерфейс ImaSubMatrix.
Параметры:
matrix указатель на существующий интерфейсconstructor Create(cell: TmaCell)Присоединяет класс к интерфейсу, хранящемуся в ячейке.
Параметры:
cell ячейка, из которой копируется значениеproperty Parent: TmaMatrixСвойство позволет получить и установить родительскую матрицу для подматрицы. При вызове также сбрасывается преобразование индекса.
procedure ClearStructureСбрасывает преобразование индекса так, что преобразование индекса не производится.
function VerifyStructure: BooleanФункция проверяет правильность задания преобразования: каждой незафиксированной размерности родительской матрицы должна соответствовать размерность в подматрице.
Возвращаемое значение:
true если преобразование задано правильноprocedure SetDim(parentDim: integer; dim: integer; Size: integer)Функция устанавливает соответствие между размерностью parentDim родительской матрицы и размерностью dim подматрицы.
Если size=0, то таблица преобразования и аргумент index не используется.
Если size≠0 то таблица преобразования берется из ранее заданного соответствия с тем же parentDim и длина этой таблицы (и размер подматрицы по размерности dim) устанавливается равным size.
Параметры:
parentDim размерность родительской матрицы, которой будет соответствовать размерность dim в подматрицеdim изменяемая размерность в подматрице
size длина таблицы преобразования или 0, если таблица не используется
procedure SetDim(parentDim: integer; dim: integer; Size: integer; index: PInteger)Функция устанавливает соответствие между размерностью parentDim родительской матрицы и размерностью dim подматрицы.
Таблица преобразования задается параметром index и длина этой таблицы (и размер подматрицы по размерности dim) устанавливается равным size. При этом таблица преобразования не копируется и все изменения массива index будут влиять на преобразование индексов.
Параметры:
parentDim размерность родительской матрицы, которой будет соответствовать размерность dim в подматрицеdim изменяемая размерность в подматрице
size длина таблицы преобразования или 0, если таблица не используется
index не используется, если size==0; таблица преобразования или NULL, если size≠0
procedure FixDim(parentDim: integer; index: integer)Функция фиксирует размерность parentDim родительской матрицы и делает ее равной index.
Параметры:
parentDim фиксируемая размерность родительской матрицыindex фиксируемая координата по размерности parentDim родительской матрицы
procedure SetIdentityDim(dim:integer)Функция увеличивает размерность подматрицы, добавляя размерность длины 1.
Параметры:
dim номер добавляемой размерности. При добавлении существующие размерности dim, dim+1,dim+2... "сдвигаются" на одну, сохраняя соответствия с размерностями родительской матрицы