/*! * Copyright (c) Microsoft Corporation. * Licensed under the MIT License. */ import { quat, mat3, mat4, vec3 } from "gl-matrix"; import { Core } from "../main.js"; export declare abstract class CameraView { position: vec3; constructor(core: Core); } export declare abstract class CameraBase { protected _core: Core; protected _vec3: vec3; protected _quat: quat; protected _mat3: mat3; protected _right: vec3; protected _up: vec3; protected _forward: vec3; getView(view: CameraView): void; setView(view: CameraView, isSmooth: boolean): void; lerpView(from: CameraView, to: CameraView, time: number): void; protected _modelManipulationOrigin: vec3; modelManipulationOrigin: vec3; modelPosition: vec3; modelRotation: quat; modelScale: vec3; modelMMatrix: mat4; protected _smoothedOrbitRotation: quat; protected _orbitRotation: quat; protected _orbitDirection: quat; protected _smoothedCameraPosition: vec3; protected _smoothedCameraRotation: quat; protected _cameraPosition: vec3; protected _cameraRotation: quat; protected _combinedPosition: vec3; protected _combinedRotation: quat; protected _vMatrices: mat4[]; protected _mvMatrices: mat4[]; protected _pMatrices: mat4[]; protected _inverseVMatrices: mat4[]; protected _inversePMatrices: mat4[]; protected _pickVMatrix: mat4; protected _eyePositions: vec3[]; protected _leftToRightEye: vec3; width: number; height: number; get vMatrices(): mat4[]; get inverseVMatrices(): mat4[]; get mvMatrices(): mat4[]; get pMatrices(): mat4[]; get inversePMatrices(): mat4[]; get pickVMatrix(): mat4; get rMatrix(): mat3; getOrbit(value: quat): void; setOrbit(value: quat, isSmooth: boolean): void; getPosition(value: vec3): void; setPosition(value: vec3, isSmooth: boolean): void; constructor(core: Core); reset(isSmooth: boolean): void; update(elapsedTime: number): void; protected _zoom(direction: vec3, distance: number): void; rotate(translationDelta: vec3): void; zoom(zoomDelta: number, x: number, y: number): void; protected _twist(axis: vec3, angle: number): void; twist(angle: number, x: number, y: number): void; updatePickVMatrix(x: number, y: number): void; syncSmooth(): void; updateModelManipulationOrigin(from: vec3, to: vec3): void; unproject(position: vec3, x: number, y: number, z: number): void; translate(translationDelta: vec3): void; }