Точка интереса (POI)
Этот объект PMI представляет собой своего рода «метку», обычно используемую для обозначения любого привлекающего внимание элемента сцены. POI всегда отображается в плоскости, параллельной плоскости экрана. Содержимое этого объекта — это просто изображение, помещенное в его плоскость. Ниже мы рассмотрим этот объект подробно.

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