UNPKG

@google/model-viewer

Version:

Easily display interactive 3D models on the web and in AR!

28 lines (27 loc) 1.24 kB
import ModelViewerElementBase, { Vector2D, Vector3D } from '../model-viewer-base.js'; import { HotspotConfiguration } from '../three-components/Hotspot.js'; import { Constructor } from '../utilities.js'; export declare type HotspotData = { position: Vector3D; normal: Vector3D; canvasPosition: Vector3D; facingCamera: boolean; }; export declare interface AnnotationInterface { updateHotspot(config: HotspotConfiguration): void; queryHotspot(name: string): HotspotData | null; positionAndNormalFromPoint(pixelX: number, pixelY: number): { position: Vector3D; normal: Vector3D; uv: Vector2D | null; } | null; surfaceFromPoint(pixelX: number, pixelY: number): string | null; } /** * AnnotationMixin implements a declarative API to add hotspots and annotations. * Child elements of the <model-viewer> element that have a slot name that * begins with "hotspot" and data-position and data-normal attributes in * the format of the camera-target attribute will be added to the scene and * track the specified model coordinates. */ export declare const AnnotationMixin: <T extends Constructor<ModelViewerElementBase>>(ModelViewerElement: T) => Constructor<AnnotationInterface> & T;