webcad-ue4-api/types/GraphicsSystem/CameraUpdate.d.ts
2024-10-29 17:14:43 +08:00

73 lines
2.0 KiB
TypeScript

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