Изображение
Ниже мы рассмотрим объект PMI, который содержит изображение и позволяет вставить его в сцену.

Объект
Обобщенный тип объекта изображения (TypeScript):
export type C3DViewImage = {
type: C3DViewObjectTypes.Image
uuid?: string
position: C3DViewPoint
rotation?: {
aboutX?: number
aboutY?: number
aboutZ?: number
}
image: {
src?: C3DViewResource
origin?: {
x: number
y: number
}
size?: number
}
userData: C3DUserData
}
Свойства type, uuid и userData описаны здесь. Кроме того, для этого объекта PMI:
type может быть
C3DViewObjectTypes.Imageили строкой"Image";Объект userData можно получить позже, используя команду с типом
GetParametersTypes.AnnotationList.
position — точка объекта на сцене.
вращение позволяет задать углы поворота вокруг главных осей объекта в радианах.
image — набор опций, необходимых для указания внутреннего изображения:
src — исходные данные, используемые для загрузки изображения;
origin — возможность выравнивания изображения;
размер – размер изображения в пикселях.
Точка position всегда лежит в плоскости, в которой визуализируется объект изображения.
origin выравнивает изображение:
на плоскости относительно положения объекта;
по горизонтали и вертикали через два внутренних параметра - x и y. x и y измеряются в диапазоне от 0 до 100%. Значения 0% и 0% соответственно определяют выравнивание слева вверху, а 100% и 100% — справа внизу.
size устанавливает одинаковый размер для внутреннего изображения и самого объекта, поскольку объект не применяет никаких полей или полей к своему содержимому.
Пример
Пример команды добавления нового объекта изображения (TypeScript):
view.runCommand({
name: "AddAnnotation",
objs: [
{
type: "Image",
position: { x: 0, y: 0, z: 0 },
rotation: { aboutX: 1.57 }, // rotate ~90 degrees along X
image: {
src: {
id: '...',
load: id => {...}
},
origin: { x: 50, y: 50 } // center alignment
size: 32 // px
},
userData: {
customField: 'custom data'
}
}
]
})