Browse Source

添加场景事件和视角事件

tags/1.0.0
Caven 5 years ago
parent
commit
c9692cf867

+ 9
- 1
src/core/const/index.js View File

@@ -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',

+ 29
- 3
src/core/event/ViewerEvent.js View File

@@ -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()

+ 1
- 1
src/core/option/CameraOption.js View File

@@ -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'


+ 12
- 7
src/core/option/ViewerOption.js View File

@@ -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
}

+ 1
- 1
src/core/position/DC.Position.js View File

@@ -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
- 2
src/core/viewer/DC.Viewer.js View File

@@ -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',

Loading…
Cancel
Save