Красный карандаш
Ниже мы рассмотрим объект PMI, содержащий 2D-примитивы и обычно используемый для заметок.

Объект
Обобщенный тип объекта красного карандаша (TypeScript):
export type C3DViewMarkup = {
type: C3DViewObjectTypes.Markup
uuid?: string
content: string
position: {
plane: C3DViewPlacement
view: {
positionDist: number
targetDist: number
projection: CameraProjection
}
}
userData: C3DUserData
}
Рассмотрим варианты данного объекта.
Свойства type, uuid и userData описаны здесь. Кроме того, для этого объекта PMI:
type может быть
C3DViewObjectTypes.Markupили строкой"Markup";Объект userData можно получить позже, используя команду с типом
GetParametersTypes.AnnotationList.
content — это строка, которая должна содержать данные в формате svg. Данные описывают каждый примитив объекта разметки как соответствующий элемент svg, т. е., например, отрезок линии разметки преобразуется в линию svg и наоборот. Объект красного карандаша может как записывать себя в эту строку, так и читать ее.
position — группа параметров для позиционирования объекта на сцене:
plane — расположение объекта;
view — это группа параметров для установки правильного вида объекта:
positionDist — расстояние от исходной точки объекта до положения камеры;
targetDist — расстояние от исходной точки объекта до цели камеры (3D-модели в сцене);
проекция — проекция камеры.