ISourceObject::GetVector

Материал из CAMaaS preliminary wiki
Перейти к навигации Перейти к поиску
Компоненты на верхнем уровне \ Подсистема управления \ ISourceObject \ GetVector
return_code_t PLATFORM_NATIVE_CALLING_CONVENTION GetVector(size_type iDimension, IPoint** ppVector) const noexcept;

Возвращает направление источника в выбранном измерении.

Параметры
iDimensionИндекс измерения. Индекс первого измерения - 0.
[out]ppVectorУказатель, принимающий адрес векторного выражения направления в заданном измерении. Вектор выражается реализацией геометрической точки с интерфейсом IPoint. По завершении использования возвращенная реализация должна закрываться своим методом Release. Гарантируется ненулевое значение возвращенного вектора для любого значения параметра iDimension.
Возвращаемое значение:
32-битовый целый код ошибки, который в случае успешного выполнения неотрицателен.
Направление источника задается матрицей направлений при создании источника в модели. Ранг этой матрицы при создании источника должен быть не меньше количества строк матрицы минус один. Направлению источника в измерении iDimension соответствует столбец этой матрицы с номером iDimension. Если значение параметра iDimension при вызове GetVector больше количества столбцов этой матрицы, матрица достраивается рекурсивно для каждого из измерений, больших ранга матрицы, следующим образом. Если в результате добавления нового столбца матрицы последняя перестает быть квадратной, к матрице предварительно добавляется строка с нулевыми элементами. Далее к матрице добавляется столбец, каждый элемент которого равен модулю своего минора.