Получение параметров C3D Vision

Команда ниже используется для получения объекта с некоторыми параметрами из экземпляра C3D Vision.

Общий пример команды (TypeScript):

let result = view.runCommand({
    name: "GetParametersCommand",
    type: GetParametersTypes.AnnotationList
})

Доступные типы запросов:

Имя константы

Значение

Дополнительные параметры

Описание

GetParametersTypes.AnnotationList

"AnnotationList"

uuid: string — UUID узла для получения определенных объектов; filter: ObjectTypeFilter - фильтровать возвращаемые объекты по C3DViewObjectTypes или его массиву.

Возвращает объекты, добавленные в модель.

GetParametersTypes.Camera

"Camera"

–

Возвращает текущие параметры камеры (проекция, ориентация и вектор вверх для стандартной проекции). Подробнее.

GetParametersTypes.SelectionList

"SelectionList"

filter: ObjectTypeFilter - фильтровать возвращаемые объекты по C3DViewObjectTypes или его массиву.

Возвращает UUID узла, выбранного с помощью команды.

GetParametersTypes.BoundingBox

"BoundingBox"

uuids: string[] — список UUID узлов для получения ограничивающего параллелепипеда.

Возвращает ограничивающий параллелепипед.

Добавлено в версии 1.5.0: Добавлен необязательный параметр filter.

Добавлено в версии 1.8.0: Добавлен тип запроса GetParametersTypes.BoundingBox.

Результат команды (TypeScript):

type GetParametersCommandResult = {
    name: ResultTypes.Parameters // "Parameters"
    result: Promise<{
        name: GetParametersTypes // command run type
        <RESULT>
    }>
}

Эта команда возвращает объект, хранящий: имя константы «ResultTypes.Parameters» или просто «Parameters» и объект-промис с именем типа команды и \ в зависимости от типа команды.

Тип команды

<RESULT>

GetParametersTypes.AnnotationList

objs: C3DViewObjects[]

GetParametersTypes.Camera

params: CameraParams

GetParametersTypes.SelectionList

uuids: string[], models: (string|null)[]

GetParametersTypes.BoundingBox

min: C3DViewPoint, max: C3DViewPoint

В некоторых случаях команда может дать сбой. Тогда она возвращает другой результат с «сообщением», содержащим сообщение об ошибке, для дальнейшей обработки.

Возврат ошибки командой (TypeScript):

type ErrorResult = {
    name: ResultTypes.Error // "Error"
    message: string
}

Кроме того, может быть пустой результат (например, в случае неверного имени типа) со следующим типом.

Пустой тип результата GetParameters (TypeScript):

type NoneResult = {
    name: ResultTypes.None // "None"
}

Ограничивающий параллелепипед

Ограничивающая рамка определяется двумя противоположными точками (минимум и максимум). Такой блок включает в себя все геометрические объекты, UUID которых передаются через команду GetParametersCommand с типом GetParametersTypes.BoundingBox.

Возврат ограничивающего параллелепипеда (TypeScript):

export type GetBoundingBoxResult = {
    name: GetParametersTypes.BoundingBox
    min: C3DViewPoint
    max: C3DViewPoint
}