68 lines
1.9 KiB
TypeScript
68 lines
1.9 KiB
TypeScript
import { Box3, OrthographicCamera, PerspectiveCamera, Vector3 } from 'three';
|
|
import { CADFiler } from '../DatabaseServices/CADFiler';
|
|
import { Orbit } from '../Geometry/Orbit';
|
|
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;
|
|
DisableRotate: boolean;
|
|
constructor();
|
|
get Orbit(): Orbit;
|
|
get Aspect(): number;
|
|
get Target(): 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);
|
|
/**
|
|
* 平移相机.
|
|
* @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
|