浏览代码

添加场景事件和视角事件

tags/1.0.0
Caven 5 年前
父节点
当前提交
c9692cf867

+ 9
- 1
src/core/const/index.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2020-01-03 10:09:19 * @Date: 2020-01-03 10:09:19
* @Last Modified by: Caven * @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' import Cesium from '@/namespace'


REMOVE_EFFECT: 'removeEffect' REMOVE_EFFECT: 'removeEffect'
} }


DC.SceneEventType = {
CAMERA_MOVE_END: 'cameraMoveEnd',
CAMERA_CHANGED: 'cameraChanged',
PRE_RENDER: 'preRender',
POST_RENDER: 'postRender',
MORPH_COMPLETE: 'morphComplete'
}

DC.LayerType = { DC.LayerType = {
VECTOR: 'vector', VECTOR: 'vector',
TILESET: 'tileset', TILESET: 'tileset',

+ 29
- 3
src/core/event/ViewerEvent.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2020-01-02 14:26:35 * @Date: 2020-01-02 14:26:35
* @Last Modified by: Caven * @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 Cesium from '@/namespace'


import Event from './Event' import Event from './Event'


class ViewerEvent extends Event { class ViewerEvent extends Event {
constructor() {
constructor(viewer) {
super() super()
this._viewer = viewer
this._registerEvent() this._registerEvent()
} }


let type = DC.MouseEventType[key] let type = DC.MouseEventType[key]
this._eventCache[type] = new Cesium.Event() 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) { for (let key in DC.ViewerEventType) {
let type = DC.ViewerEventType[key] let type = DC.ViewerEventType[key]
this._eventCache[type] = new Cesium.Event() this._eventCache[type] = new Cesium.Event()

+ 1
- 1
src/core/option/CameraOption.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2020-01-21 15:33:52 * @Date: 2020-01-21 15:33:52
* @Last Modified by: Caven * @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' import Cesium from '@/namespace'



+ 12
- 7
src/core/option/ViewerOption.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2019-12-30 09:24:37 * @Date: 2019-12-30 09:24:37
* @Last Modified by: Caven * @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' import Cesium from '@/namespace'
true 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 return this
} }


_setGlobeOption(options) { _setGlobeOption(options) {
this._viewer.delegate.scene.globe.show = Cesium.defaultValue(
options.globe,
true
)
this._viewer.delegate.scene.globe.enableLighting = Cesium.defaultValue( this._viewer.delegate.scene.globe.enableLighting = Cesium.defaultValue(
options.enableLighting, options.enableLighting,
false 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 return this
} }
this._setViewerOption(options) this._setViewerOption(options)
._setCanvasOption(options) ._setCanvasOption(options)
._setSceneOption(options) ._setSceneOption(options)
._setGlobeOption(options)
._setClockOption(options) ._setClockOption(options)
return this return this
} }

+ 1
- 1
src/core/position/DC.Position.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2019-12-27 14:35:02 * @Date: 2019-12-27 14:35:02
* @Last Modified by: Caven * @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 { DC.Position = class {

+ 2
- 2
src/core/viewer/DC.Viewer.js 查看文件

* @Author: Caven * @Author: Caven
* @Date: 2019-12-27 17:13:24 * @Date: 2019-12-27 17:13:24
* @Last Modified by: Caven * @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' import Cesium from '@/namespace'
new MouseEvent(this) // Register global mouse events new MouseEvent(this) // Register global mouse events
this._viewerOption = new ViewerOption(this) // Initialize the viewer option this._viewerOption = new ViewerOption(this) // Initialize the viewer option
this._cameraOption = new CameraOption(this) // Initialize the camera 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( this._dcContainer = DC.DomUtil.create(
'div', 'div',
'dc-container', 'dc-container',

正在加载...
取消
保存