import { Box3, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three'; import { CADFiler } from '../DatabaseServices/CADFiler'; import { Orbit } from '../Geometry/Orbit'; export declare const ViewNearMinSize = 0.01; export declare enum CameraType { OrthographicCamera = 1, PerspectiveCamera = 2 } type Camera = OrthographicCamera | PerspectiveCamera; /** * * 相机的控制. * ->切换相机 * ->设置视口大小 * ->旋转和移动相机. */ export declare class CameraUpdate { private _CurCamera; private _CameraArray; private _Width; private _Height; private _ViewHeight; private _Target; private _Direction; private _Orbit; private _Near; DisableRotate: boolean; constructor(); get Orbit(): Orbit; get Aspect(): number; get Target(): Vector3; set Target(value: Vector3); get Camera(): Camera; get ViewHeight(): number; set ViewHeight(height: number); get Direction(): Vector3; SetSize(width: number, height: number): void; get Width(): number; get Height(): number; get Fov(): number; set Fov(fov: number); get Near(): number; set Near(value: number); /** * 平移相机. * @param {Vector3} mouseMove */ Pan(mouseMove: Vector3): void; Rotate(mouseMove: Vector3, target: Vector3): void; UpdateCameraMatrix(): void; Zoom(scale: number, scaleCenter?: Vector3): void; ZoomExtentsBox3(box3: Box3): void; /** * 设置相机的观察向量. * @param {Vector3} dir 方向向量,这个向量传入后会被更改为单位向量 */ LookAt(dir: Vector3): void; LookAtEvent(dir: Vector3): void; UpdateUp(): void; /** * 根据视口大小,设置相机视口范围. */ Update(): void; ZoomEvent(): void; set CameraType(type: CameraType); get CameraType(): CameraType; SwitchCamera(): void; ReadFile(file: CADFiler): void; WriteFile(file: CADFiler): void; CopyFrom(camer: CameraUpdate): void; } export {}; //# sourceMappingURL=CameraUpdate.d.ts.map