| @@ -2,7 +2,7 @@ | |||
| * @Author: Caven | |||
| * @Date: 2020-01-03 10:09:19 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-02-24 16:10:30 | |||
| * @Last Modified time: 2020-02-25 11:19:43 | |||
| */ | |||
| import Cesium from '@/namespace' | |||
| @@ -34,6 +34,14 @@ DC.ViewerEventType = { | |||
| REMOVE_EFFECT: 'removeEffect' | |||
| } | |||
| DC.SceneEventType = { | |||
| CAMERA_MOVE_END: 'cameraMoveEnd', | |||
| CAMERA_CHANGED: 'cameraChanged', | |||
| PRE_RENDER: 'preRender', | |||
| POST_RENDER: 'postRender', | |||
| MORPH_COMPLETE: 'morphComplete' | |||
| } | |||
| DC.LayerType = { | |||
| VECTOR: 'vector', | |||
| TILESET: 'tileset', | |||
| @@ -2,15 +2,16 @@ | |||
| * @Author: Caven | |||
| * @Date: 2020-01-02 14:26:35 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-01-31 15:04:41 | |||
| * @Last Modified time: 2020-02-25 11:59:04 | |||
| */ | |||
| import Cesium from '@/namespace' | |||
| import Event from './Event' | |||
| class ViewerEvent extends Event { | |||
| constructor() { | |||
| constructor(viewer) { | |||
| super() | |||
| this._viewer = viewer | |||
| this._registerEvent() | |||
| } | |||
| @@ -20,7 +21,32 @@ class ViewerEvent extends Event { | |||
| let type = DC.MouseEventType[key] | |||
| this._eventCache[type] = new Cesium.Event() | |||
| } | |||
| // | |||
| //scene event | |||
| for (let key in DC.SceneEventType) { | |||
| let type = DC.SceneEventType[key] | |||
| let event = undefined | |||
| if (this._viewer) { | |||
| switch (key) { | |||
| case 'CAMERA_MOVE_END': | |||
| event = this._viewer.delegate.camera.moveEnd | |||
| case 'CAMERA_CHANGED': | |||
| event = this._viewer.delegate.camera.changed | |||
| case 'PRE_RENDER': | |||
| event = this._viewer.delegate.scene.preRender | |||
| case 'POST_RENDER': | |||
| event = this._viewer.delegate.scene.postRender | |||
| case 'MORPH_COMPLETE': | |||
| event = this._viewer.delegate.scene.morphComplete | |||
| break | |||
| default: | |||
| break | |||
| } | |||
| } | |||
| event && (this._eventCache[type] = event) | |||
| } | |||
| //viewer event | |||
| for (let key in DC.ViewerEventType) { | |||
| let type = DC.ViewerEventType[key] | |||
| this._eventCache[type] = new Cesium.Event() | |||
| @@ -2,7 +2,7 @@ | |||
| * @Author: Caven | |||
| * @Date: 2020-01-21 15:33:52 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-02-17 14:20:31 | |||
| * @Last Modified time: 2020-02-25 10:54:49 | |||
| */ | |||
| import Cesium from '@/namespace' | |||
| @@ -2,7 +2,7 @@ | |||
| * @Author: Caven | |||
| * @Date: 2019-12-30 09:24:37 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-02-24 16:03:49 | |||
| * @Last Modified time: 2020-02-25 10:49:36 | |||
| */ | |||
| import Cesium from '@/namespace' | |||
| @@ -45,23 +45,27 @@ class ViewerOption { | |||
| true | |||
| ) | |||
| this._viewer.delegate.scene.globe.depthTestAgainstTerrain = Cesium.defaultValue( | |||
| options.underground, | |||
| false | |||
| this._viewer.delegate.scene.skyBox.show = Cesium.defaultValue( | |||
| options.skyBox, | |||
| true | |||
| ) | |||
| return this | |||
| } | |||
| _setGlobeOption(options) { | |||
| this._viewer.delegate.scene.globe.show = Cesium.defaultValue( | |||
| options.globe, | |||
| true | |||
| ) | |||
| this._viewer.delegate.scene.globe.enableLighting = Cesium.defaultValue( | |||
| options.enableLighting, | |||
| false | |||
| ) | |||
| this._viewer.delegate.scene.globe.show = Cesium.defaultValue( | |||
| options.globe, | |||
| true | |||
| this._viewer.delegate.scene.globe.depthTestAgainstTerrain = Cesium.defaultValue( | |||
| options.underground, | |||
| false | |||
| ) | |||
| return this | |||
| } | |||
| @@ -78,6 +82,7 @@ class ViewerOption { | |||
| this._setViewerOption(options) | |||
| ._setCanvasOption(options) | |||
| ._setSceneOption(options) | |||
| ._setGlobeOption(options) | |||
| ._setClockOption(options) | |||
| return this | |||
| } | |||
| @@ -2,7 +2,7 @@ | |||
| * @Author: Caven | |||
| * @Date: 2019-12-27 14:35:02 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-02-13 17:28:24 | |||
| * @Last Modified time: 2020-02-25 09:36:26 | |||
| */ | |||
| DC.Position = class { | |||
| @@ -2,7 +2,7 @@ | |||
| * @Author: Caven | |||
| * @Date: 2019-12-27 17:13:24 | |||
| * @Last Modified by: Caven | |||
| * @Last Modified time: 2020-02-20 14:07:52 | |||
| * @Last Modified time: 2020-02-25 11:10:11 | |||
| */ | |||
| import Cesium from '@/namespace' | |||
| @@ -44,7 +44,7 @@ DC.Viewer = class { | |||
| new MouseEvent(this) // Register global mouse events | |||
| this._viewerOption = new ViewerOption(this) // Initialize the viewer option | |||
| this._cameraOption = new CameraOption(this) // Initialize the camera option | |||
| this._viewerEvent = new ViewerEvent() // Register viewer events | |||
| this._viewerEvent = new ViewerEvent(this) // Register viewer events | |||
| this._dcContainer = DC.DomUtil.create( | |||
| 'div', | |||
| 'dc-container', | |||