webcad-api/types/GraphicsSystem/CameraUpdate.d.ts

62 lines
1.7 KiB
TypeScript

import { Box3, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
import { CADFiler } from '../DatabaseServices/CADFiler';
export declare enum CameraType {
OrthographicCamera = 1,
PerspectiveCamera = 2
}
declare type Camera = OrthographicCamera | PerspectiveCamera;
/**
*
* 相机的控制.
* ->切换相机
* ->设置视口大小
* ->旋转和移动相机.
*/
export declare class CameraUpdate {
private _CurCamera;
private _CameraArray;
private _Width;
private _Height;
private _ViewHeight;
private _Target;
private _Direction;
private _Orbit;
_MinViewHeight: number;
_MaxViewHeight: number;
constructor();
get Aspect(): number;
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;
/**
* 平移相机.
* @param {Vector3} mouseMove
*/
Pan(mouseMove: Vector3): void;
Rotate(mouseMove: Vector3, target: Vector3): void;
Zoom(scale: number, scaleCenter?: Vector3): void;
ZoomExtensBox3(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;
}
export {};
//# sourceMappingURL=CameraUpdate.d.ts.map