import { type IRenderingEngine } from "@shapediver/viewer.rendering-engine.rendering-engine"; import { Box, type IBox, Sphere } from "@shapediver/viewer.shared.math"; import { AbstractTreeNodeData, type ITreeNode } from "@shapediver/viewer.shared.node-tree"; import { EventEngine, SettingsEngine, StateEngine } from "@shapediver/viewer.shared.services"; import { CAMERA_TYPE, type ICameraOptions } from "@shapediver/viewer.shared.types"; import { mat4, vec2, vec3, vec4 } from "gl-matrix"; import { type ICamera } from "../../interfaces/camera/ICamera"; import { type ICameraControls } from "../../interfaces/controls/ICameraControls"; export declare abstract class AbstractCamera extends AbstractTreeNodeData implements ICamera { #private; private readonly _id; private readonly _type; private readonly _isDefault; protected readonly _eventEngine: EventEngine; protected readonly _stateEngine: StateEngine; protected _boundingBox: IBox; protected abstract _controls: ICameraControls; protected _position: vec3; protected _target: vec3; protected _viewportId?: string; constructor(_id: string, _type: CAMERA_TYPE, version?: string, _isDefault?: boolean); get active(): boolean; set active(value: boolean); get autoAdjust(): boolean; set autoAdjust(value: boolean); set boundingBox(value: IBox); get cameraMovementDuration(): number; set cameraMovementDuration(value: number); get controls(): ICameraControls; get defaultPosition(): vec3; set defaultPosition(value: vec3); get defaultTarget(): vec3; set defaultTarget(value: vec3); get domEventListenerToken(): string | undefined; set domEventListenerToken(value: string | undefined); get enableCameraControls(): boolean; set enableCameraControls(value: boolean); get far(): number; set far(value: number); get id(): string; get initialAutoAdjust(): boolean; set initialAutoAdjust(value: boolean); get isDefault(): boolean; get name(): string | undefined; set name(value: string | undefined); get near(): number; set near(value: number); get node(): ITreeNode | undefined; set node(value: ITreeNode | undefined); get order(): number | undefined; set order(value: number | undefined); get position(): vec3; set position(value: vec3); get revertAtMouseUp(): boolean; set revertAtMouseUp(value: boolean); get revertAtMouseUpDuration(): number; set revertAtMouseUpDuration(value: number); get sceneRotation(): vec2; set sceneRotation(value: vec2); get target(): vec3; set target(value: vec3); get type(): CAMERA_TYPE; get useNodeData(): boolean; set useNodeData(value: boolean); get viewportId(): string | undefined; get zoomExtentsFactor(): number; set zoomExtentsFactor(value: number); animate(path: { position: vec3; target: vec3; }[], options?: ICameraOptions): Promise; abstract applySettings(settingsEngine?: SettingsEngine): void; abstract assignViewer(renderingEngine: IRenderingEngine): void; boundingSphereVisible(sphere: Sphere): boolean; abstract calculateZoomTo(zoomTarget?: Box, startingPosition?: vec3, startingTarget?: vec3): { position: vec3; target: vec3; }; destroy(): void; abstract project(p: vec3): vec2; reset(options?: ICameraOptions): Promise; set(position: vec3, target: vec3, options?: ICameraOptions): Promise; abstract unproject(p: vec3): vec3; update(time: number): boolean; zoomTo(zoomTarget?: Box, options?: ICameraOptions): Promise; protected assignViewerInternal(viewportId: string): void; protected getFrustumPlanes(projectionMatrix: mat4): vec4[]; protected abstract getProjectionMatrix(sphere: Sphere): mat4 | undefined; protected getViewMatrix(): mat4; } //# sourceMappingURL=AbstractCamera.d.ts.map