import { changeSV23D } from '../utils/Screen'
import SyncViewer from './screen/SyncViewer'
import ShotGrid from './screen/ShotGrid'
/**
* 场景窗口类
* @class
*/
class Screen {
/**
* 构造函数
* @param {Object} viewer 地图场景对象
* @see {ShotGrid} - 场景出图主类
*/
constructor(viewer) {
this._viewer = viewer
this._sceneMode = 3
/**
* 场景出图主类
* @type {ShotGrid}
*/
this.ShotGrid = ShotGrid
}
/**
* 场景模式,2D或者3D切换,2-2D,3-3D
* @type {Number}
*/
get sceneMode() {
return this._sceneMode
}
set sceneMode(mode) {
if (this._sceneMode === mode) return
this._sceneMode = mode
const type = {
2: 'mapView',
3: 'sceneView',
}
changeSV23D(this._viewer, type[mode])
}
/**
* 创建多屏联动对象
* @param {Array<Viewer>} viewerList 待联动地图场景对象集合
* @returns {SyncViewer} 多屏联动对象
*/
viewerSync(viewerList) {
return viewerList && viewerList.length > 0
? new SyncViewer(this._viewer, viewerList)
: undefined
}
}
export default Screen