UNPKG

trillion-viewer

Version:

Trillion 3D Viewer

27 lines (26 loc) 1.22 kB
import { Object3D, PerspectiveCamera, Vector3 } from 'three'; import { OrbitControls } from 'three/examples/jsm/controls/OrbitControls'; import { ModelControls } from './utils/ModelControls'; import IPointOfView from './interfaces/point-of-view.interface'; import { CameraConstraints } from '../../../trillion-common/src/objects/camera-constraints.object'; export type IControls = { minDistance: number; maxDistance: number; maxAzimuthAngle: number; minAzimuthAngle: number; maxPolarAngle: number; minPolarAngle: number; }; export interface ICameraController { setPointOfView: (pointOfView: IPointOfView, defaultCameraConstraints: CameraConstraints, isFreeMoveCameraModeEnabled: boolean, noAnimation?: boolean) => void; getDistance: () => number; fitToScreen: (model: Object3D) => void; getFitToScreenPosition: (model: Object3D, curPos: Vector3) => Vector3; addOnStart: (callback: () => void) => void; removeOnStart: (callback: () => void) => void; destroy: () => void; start: () => void; stop: () => void; update: () => void; } export declare function CameraController(camera: PerspectiveCamera, controls: ModelControls | OrbitControls): ICameraController;