UNPKG

soonspacejs

Version:
35 lines (34 loc) 1.76 kB
import { Box3, PerspectiveCamera, OrthographicCamera, Vector3, Euler, Object3D } from 'three'; import { Rotation, Position, FlyToViewpoint, FlyToObjOptions, SurroundOptions, LabelOptions, CameraViewpointData, CameraViewpointDataLegacy, FlyToOptions, CameraType } from '../Interface'; import Viewport from '.'; declare class CameraManager { viewport: Viewport; /** * the controls camera */ mainCamera: PerspectiveCamera | OrthographicCamera; /** * 当前 renderer camera */ currentCamera: PerspectiveCamera | OrthographicCamera; cameras: { [x: string]: PerspectiveCamera; }; constructor(viewport: Viewport); createCamera(key: string): PerspectiveCamera; removeCamera(key: string): boolean; setCurrentCamera(camera: PerspectiveCamera | OrthographicCamera): void; /** * set main camera * @param camera */ setCamera(cameraType: CameraType, viewpoint?: CameraViewpointData, enableTransition?: boolean): Promise<void>; getCameraViewpoint(): CameraViewpointData; setCameraViewpoint(data: CameraViewpointData | CameraViewpointDataLegacy, enableTransition?: boolean): Promise<void>; flyTo(position: Position, rotation?: FlyToViewpoint | Rotation | Euler, options?: FlyToOptions): Promise<void>; flyToObj(object: Object3D | Box3, viewpoint?: FlyToViewpoint, options?: FlyToObjOptions): Promise<void>; surroundOnTarget(target: Position, options?: SurroundOptions): Promise<void>; surroundOnObject(object: Object3D, options?: SurroundOptions): Promise<void>; getObjectLabelPos(bbox: Box3 | Object3D, rotation?: FlyToViewpoint | Rotation | Euler, options?: LabelOptions): Vector3; } export default CameraManager;