import { type IBox, type ISphere } from "@shapediver/viewer.shared.math"; import { type ITreeNode, type ITreeNodeData } from "@shapediver/viewer.shared.node-tree"; import { SettingsEngine } from "@shapediver/viewer.shared.services"; import { CAMERA_TYPE, type ICameraOptions } from "@shapediver/viewer.shared.types"; import { vec2, vec3 } from "gl-matrix"; import { type ICameraControls } from "../controls/ICameraControls"; export interface ICamera extends ITreeNodeData { readonly controls: ICameraControls; readonly id: string; readonly type: CAMERA_TYPE; readonly isDefault: boolean; active: boolean; autoAdjust: boolean; boundingBox: IBox; cameraMovementDuration: number; defaultPosition: vec3; defaultTarget: vec3; domEventListenerToken?: string; enableCameraControls: boolean; initialAutoAdjust: boolean; name?: string; node?: ITreeNode; order?: number; position: vec3; revertAtMouseUp: boolean; revertAtMouseUpDuration: number; sceneRotation: vec2; target: vec3; useNodeData: boolean; zoomExtentsFactor: number; animate(path: { position: vec3; target: vec3; }[], options?: ICameraOptions): Promise; applySettings(settingsEngine: SettingsEngine): void; boundingSphereVisible(sphere: ISphere): boolean; calculateZoomTo(zoomTarget?: IBox, startingPosition?: vec3, startingTarget?: vec3): { position: vec3; target: vec3; }; destroy(): void; project(p: vec3): vec2; reset(options?: ICameraOptions): Promise; set(position: vec3, target: vec3, options?: ICameraOptions): Promise; unproject(p: vec3): vec3; zoomTo(zoomTarget?: IBox, options?: ICameraOptions): Promise; } //# sourceMappingURL=ICamera.d.ts.map