soonspacejs
Version:
soonspacejs 2.x
35 lines (34 loc) • 1.76 kB
TypeScript
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;