UNPKG

@egjs/view3d

Version:

Fast & Customizable glTF 3D model viewer, packed with full of features!

62 lines (61 loc) 2.04 kB
import * as THREE from "three"; import View3D from "../View3D"; export interface AnnotationOptions { element: HTMLElement | null; focus: number[]; focusDuration: number; focusOffset: number[]; baseFov: number; baseDistance: number | null; } declare abstract class Annotation { abstract position: THREE.Vector3; protected _view3D: View3D; protected _element: HTMLElement | null; protected _focus: number[]; protected _focusDuration: number; protected _focusOffset: number[]; protected _baseFov: number; protected _baseDistance: number | null; protected _enabled: boolean; protected _hidden: boolean; protected _focusing: boolean; protected _tooltipSize: THREE.Vector2; get element(): HTMLElement; get renderable(): boolean; get focusing(): boolean; get focusPose(): number[]; get focusDuration(): number; get focusOffset(): number[]; get baseFov(): number; get baseDistance(): number | null; get hidden(): boolean; set focusDuration(val: number); set baseFov(val: number); set baseDistance(val: number | null); constructor(view3D: View3D, { element, focus, focusDuration, focusOffset, baseFov, baseDistance }?: Partial<AnnotationOptions>); abstract focus(): Promise<void>; abstract unfocus(): void; abstract toJSON(): Record<string, any>; destroy(): void; resize(): void; render({ screenPos, screenSize, renderOrder }: { position: THREE.Vector3; screenPos: THREE.Vector2; screenSize: THREE.Vector2; renderOrder: number; }): void; show(): void; hide(): void; setOpacity(opacity: number): void; enableEvents(): void; disableEvents(): void; handleUserInput(): void; protected _getFocus(): THREE.Vector3; protected _getPivotOffset(): THREE.Vector3; protected _onClick: () => void; protected _onWheel: (evt: WheelEvent) => void; protected _onFocus(): void; protected _onUnfocus(): void; } export default Annotation;