Интерфейс ImaMethod предназначен для использования методов, в отличие от интерфейса ImaMethodDef, служащего для упрощения их реализации. Класс метода поддерживает интерфейсы ImaReadList и ImaMethod. Внутри себя он хранит указатель на интерфейс ImaMethodDef.



HRESULT SetMethodDef ([in] ImaMethodDef* mdef)
Функция служит для установки указателя на интерфейс определителя метода. Она также вызывает функцию Init определителя метода.

Никогда не вызывайте эту функцию напрямую. Списки входных и выходных параметров при вызове не изменяются. Пользуйтесь функцией SetMethod алгоритма.

Параметры:

mdef устанавливаемый определитель метода

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если mdef==NULL


HRESULT GetMethodDef ([out,retval] ImaMethodDef** mdef)
Функция служит для получения определителя метода, хранящегося в методе.

Параметры:

mdef указатель на возвращаемый определитель метода

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если mdef==NULL


HRESULT GetParam ([out,retval] ImaList** param)
Функция служит для получения списка параметров метода. Список параметров устанавливается во время создания поддерева метода и далее предполагается неизменным.

Параметры:

param указатель на возвращаемый список

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если param==NULL


HRESULT SetInput ([in] int argno, [in] ImaMatrix* arg)
Функция служит для установки argno-го входного аргумента метода.

Параметры:

argno номер записываемого аргумента
arg записываемая матрица

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_NOTFOUND если у метода нет входного аргумента с номером argno


HRESULT GetInput ([in] int argno, [out,retval] ImaMatrix** arg)
Функция служит для получения argno-го входного аргумента метода.

Параметры:

argno номер получаемого аргумента
arg указатель на получаемую матрицу

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если arg==NULL
MA_ERR_NOTFOUND если у метода нет входного аргумента с номером argno


HRESULT SetOutput ([in] int argno, [in] ImaMatrix* arg)
Функция служит для установки argno-го выходного аргумента метода.

Параметры:

argno номер записываемого аргумента
arg записываемая матрица

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_NOTFOUND если у метода нет выходного аргумента с номером argno


HRESULT GetOutput ([in] int argno, [out,retval] ImaMatrix** arg)
Функция служит для получения argno-го выходного аргумента метода.

Параметры:

argno номер получаемого аргумента
arg указатель на получаемую матрицу

Возвращаемое значение:

MA_NOERROR при отсутствии ошибок
MA_ERR_BAD_PARAM если arg==NULL
MA_ERR_NOTFOUND если у метода нет выходного аргумента с номером argno


HRESULT Calc ()
Функция выполняет метод путем вызова функции CalcDef определителя метода.

Возвращаемое значение:

код ошибки, возвращенный определителем метода всегда


HRESULT CalcCell ([in] int argno, [in] maIndex index, [in] ImaCell *cell)
Функция вычисляет значение единственной ячейки в выходном аргументе метода путем вызова функции CalcCellDef определителя метода. Смысл аргументов тот же, что и для функции CalcCellDef.

Параметры:

argno номер выходного аргумента метода
index координата вычисляемого элемента матрицы. Подробнее смотри интерфейс матрицы
cell ячейка, в которую будет записан результат вычислений или NULL, если результат надо записать в соответствующую выходную матрицу

Возвращаемое значение:

код ошибки, возвращенный определителем метода всегда