Преглед на файлове

add default mouse event

tags/2.4.1
Caven Chen преди 4 години
родител
ревизия
4d7da22dd1
променени са 3 файла, в които са добавени 59 реда и са изтрити 4 реда
  1. 4
    0
      modules/event/EventType.js
  2. 52
    4
      modules/event/type/MouseEvent.js
  3. 3
    0
      modules/material/shader/polyline/PolylineImageTrailMaterial.glsl

+ 4
- 0
modules/event/EventType.js Целия файл

@@ -11,7 +11,11 @@ const BaseEventType = {
}

const MouseEventType = {
LEFT_DOWN: Cesium.ScreenSpaceEventType.LEFT_DOWN,
LEFT_UP: Cesium.ScreenSpaceEventType.LEFT_UP,
CLICK: Cesium.ScreenSpaceEventType.LEFT_CLICK,
RIGHT_DOWN: Cesium.ScreenSpaceEventType.RIGHT_DOWN,
RIGHT_UP: Cesium.ScreenSpaceEventType.RIGHT_UP,
RIGHT_CLICK: Cesium.ScreenSpaceEventType.RIGHT_CLICK,
DB_CLICK: Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK,
MOUSE_MOVE: Cesium.ScreenSpaceEventType.MOUSE_MOVE,

+ 52
- 4
modules/event/type/MouseEvent.js Целия файл

@@ -16,8 +16,12 @@ class MouseEvent extends Event {
this._viewer = viewer
this._selected = undefined
this._setInputAction()
this.on(MouseEventType.LEFT_DOWN, this._leftDownHandler, this)
this.on(MouseEventType.LEFT_UP, this._leftUpHandler, this)
this.on(MouseEventType.CLICK, this._clickHandler, this)
this.on(MouseEventType.DB_CLICK, this._dbClickHandler, this)
this.on(MouseEventType.RIGHT_DOWN, this._rightDownHandler, this)
this.on(MouseEventType.RIGHT_UP, this._rightUpHandler, this)
this.on(MouseEventType.RIGHT_CLICK, this._rightClickHandler, this)
this.on(MouseEventType.MOUSE_MOVE, this._mouseMoveHandler, this)
this.on(MouseEventType.WHEEL, this._mouseWheelHandler, this)
@@ -268,7 +272,7 @@ class MouseEvent extends Event {
* @private
*/
_clickHandler(movement) {
if (!movement || !movement.position) {
if (!movement?.position) {
return false
}
let mouseInfo = this._getMouseInfo(movement.position)
@@ -282,7 +286,7 @@ class MouseEvent extends Event {
* @private
*/
_dbClickHandler(movement) {
if (!movement || !movement.position) {
if (!movement?.position) {
return false
}
let mouseInfo = this._getMouseInfo(movement.position)
@@ -296,7 +300,7 @@ class MouseEvent extends Event {
* @private
*/
_rightClickHandler(movement) {
if (!movement || !movement.position) {
if (!movement?.position) {
return false
}
let mouseInfo = this._getMouseInfo(movement.position)
@@ -310,7 +314,7 @@ class MouseEvent extends Event {
* @private
*/
_mouseMoveHandler(movement) {
if (!movement || !movement.endPosition) {
if (!movement?.endPosition) {
return false
}
let mouseInfo = this._getMouseInfo(movement.endPosition)
@@ -329,6 +333,50 @@ class MouseEvent extends Event {
}
}

/**
* Default mouse left down event handler
* @param movement
* @private
*/
_leftDownHandler(movement) {
if (!movement?.position) {
return false
}
let mouseInfo = this._getMouseInfo(movement.position)
this._raiseEvent(MouseEventType.LEFT_DOWN, mouseInfo)
}

/**
* Default mouse left up event handler
* @param movement
* @private
*/
_leftUpHandler(movement) {
this._raiseEvent(MouseEventType.LEFT_UP, { movement })
}

/**
* Default mouse right down event handler
* @param movement
* @private
*/
_rightDownHandler(movement) {
if (!movement?.position) {
return false
}
let mouseInfo = this._getMouseInfo(movement.position)
this._raiseEvent(MouseEventType.RIGHT_DOWN, mouseInfo)
}

/**
* Default mouse right up event handler
* @param movement
* @private
*/
_rightUpHandler(movement) {
this._raiseEvent(MouseEventType.RIGHT_UP, { movement })
}

/**
* Default mouse wheel event handler
* @param movement

+ 3
- 0
modules/material/shader/polyline/PolylineImageTrailMaterial.glsl Целия файл

@@ -9,6 +9,9 @@ czm_material czm_getMaterial(czm_materialInput materialInput){
float time = fract(czm_frameNumber * speed / 1000.0);
vec4 colorImage = texture2D(image, vec2(fract(st.s - time), st.t));
if(color.a == 0.0){
if(colorImage.rgb == vec3(1.0) || colorImage.rgb == vec3(0.0)){
discard;
}
material.alpha = colorImage.a;
material.diffuse = colorImage.rgb;
}else{

Loading…
Отказ
Запис