1 |
- {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { PointerEventTypes } from \"../../Events/pointerEvents.js\";\nimport { Matrix, Vector3 } from \"../../Maths/math.vector.js\";\nimport { Tools } from \"../../Misc/tools.js\";\n/**\n * Manage the touch inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FreeCameraTouchInput {\n /**\n * Manage the touch inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n * @param allowMouse Defines if mouse events can be treated as touch events\n */\n constructor(\n /**\n * [false] Define if mouse events can be treated as touch events\n */\n allowMouse = false) {\n this.allowMouse = allowMouse;\n /**\n * Defines the touch sensibility for rotation.\n * The lower the faster.\n */\n this.touchAngularSensibility = 200000.0;\n /**\n * Defines the touch sensibility for move.\n * The lower the faster.\n */\n this.touchMoveSensibility = 250.0;\n /**\n * Swap touch actions so that one touch is used for rotation and multiple for movement\n */\n this.singleFingerRotate = false;\n this._offsetX = null;\n this._offsetY = null;\n this._pointerPressed = new Array();\n this._isSafari = Tools.IsSafari();\n }\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n attachControl(noPreventDefault) {\n // eslint-disable-next-line prefer-rest-params\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\n let previousPosition = null;\n if (this._pointerInput === undefined) {\n this._onLostFocus = () => {\n this._offsetX = null;\n this._offsetY = null;\n };\n this._pointerInput = p => {\n const evt = p.event;\n const isMouseEvent = evt.pointerType === \"mouse\" || this._isSafari && typeof evt.pointerType === \"undefined\";\n if (!this.allowMouse && isMouseEvent) {\n return;\n }\n if (p.type === PointerEventTypes.POINTERDOWN) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n this._pointerPressed.push(evt.pointerId);\n if (this._pointerPressed.length !== 1) {\n return;\n }\n previousPosition = {\n x: evt.clientX,\n y: evt.clientY\n };\n } else if (p.type === PointerEventTypes.POINTERUP) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n const index = this._pointerPressed.indexOf(evt.pointerId);\n if (index === -1) {\n return;\n }\n this._pointerPressed.splice(index, 1);\n if (index != 0) {\n return;\n }\n previousPosition = null;\n this._offsetX = null;\n this._offsetY = null;\n } else if (p.type === PointerEventTypes.POINTERMOVE) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n if (!previousPosition) {\n return;\n }\n const index = this._pointerPressed.indexOf(evt.pointerId);\n if (index != 0) {\n return;\n }\n this._offsetX = evt.clientX - previousPosition.x;\n this._offsetY = -(evt.clientY - previousPosition.y);\n }\n };\n }\n this._observer = this.camera.getScene()._inputManager._addCameraPointerObserver(this._pointerInput, PointerEventTypes.POINTERDOWN | PointerEventTypes.POINTERUP | PointerEventTypes.POINTERMOVE);\n if (this._onLostFocus) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.addEventListener(\"blur\", this._onLostFocus);\n }\n }\n /**\n * Detach the current controls from the specified dom element.\n */\n detachControl() {\n if (this._pointerInput) {\n if (this._observer) {\n this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer);\n this._observer = null;\n }\n if (this._onLostFocus) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.removeEventListener(\"blur\", this._onLostFocus);\n this._onLostFocus = null;\n }\n this._pointerPressed.length = 0;\n this._offsetX = null;\n this._offsetY = null;\n }\n }\n /**\n * Update the current camera state depending on the inputs that have been used this frame.\n * This is a dynamically created lambda to avoid the performance penalty of looping for inputs in the render loop.\n */\n checkInputs() {\n if (this._offsetX === null || this._offsetY === null) {\n return;\n }\n if (this._offsetX === 0 && this._offsetY === 0) {\n return;\n }\n const camera = this.camera;\n const handednessMultiplier = camera._calculateHandednessMultiplier();\n camera.cameraRotation.y = handednessMultiplier * this._offsetX / this.touchAngularSensibility;\n const rotateCamera = this.singleFingerRotate && this._pointerPressed.length === 1 || !this.singleFingerRotate && this._pointerPressed.length > 1;\n if (rotateCamera) {\n camera.cameraRotation.x = -this._offsetY / this.touchAngularSensibility;\n } else {\n const speed = camera._computeLocalCameraSpeed();\n const direction = new Vector3(0, 0, this.touchMoveSensibility !== 0 ? speed * this._offsetY / this.touchMoveSensibility : 0);\n Matrix.RotationYawPitchRollToRef(camera.rotation.y, camera.rotation.x, 0, camera._cameraRotationMatrix);\n camera.cameraDirection.addInPlace(Vector3.TransformCoordinates(direction, camera._cameraRotationMatrix));\n }\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FreeCameraTouchInput\";\n }\n /**\n * Get the friendly name associated with the input class.\n * @returns the input friendly name\n */\n getSimpleName() {\n return \"touch\";\n }\n}\n__decorate([serialize()], FreeCameraTouchInput.prototype, \"touchAngularSensibility\", void 0);\n__decorate([serialize()], FreeCameraTouchInput.prototype, \"touchMoveSensibility\", void 0);\nCameraInputTypes[\"FreeCameraTouchInput\"] = FreeCameraTouchInput;","map":{"version":3,"names":["__decorate","serialize","CameraInputTypes","PointerEventTypes","Matrix","Vector3","Tools","FreeCameraTouchInput","constructor","allowMouse","touchAngularSensibility","touchMoveSensibility","singleFingerRotate","_offsetX","_offsetY","_pointerPressed","Array","_isSafari","IsSafari","attachControl","noPreventDefault","BackCompatCameraNoPreventDefault","arguments","previousPosition","_pointerInput","undefined","_onLostFocus","p","evt","event","isMouseEvent","pointerType","type","POINTERDOWN","preventDefault","push","pointerId","length","x","clientX","y","clientY","POINTERUP","index","indexOf","splice","POINTERMOVE","_observer","camera","getScene","_inputManager","_addCameraPointerObserver","engine","getEngine","element","getInputElement","addEventListener","detachControl","_removeCameraPointerObserver","removeEventListener","checkInputs","handednessMultiplier","_calculateHandednessMultiplier","cameraRotation","rotateCamera","speed","_computeLocalCameraSpeed","direction","RotationYawPitchRollToRef","rotation","_cameraRotationMatrix","cameraDirection","addInPlace","TransformCoordinates","getClassName","getSimpleName","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Cameras/Inputs/freeCameraTouchInput.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { PointerEventTypes } from \"../../Events/pointerEvents.js\";\nimport { Matrix, Vector3 } from \"../../Maths/math.vector.js\";\nimport { Tools } from \"../../Misc/tools.js\";\n/**\n * Manage the touch inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FreeCameraTouchInput {\n /**\n * Manage the touch inputs to control the movement of a free camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n * @param allowMouse Defines if mouse events can be treated as touch events\n */\n constructor(\n /**\n * [false] Define if mouse events can be treated as touch events\n */\n allowMouse = false) {\n this.allowMouse = allowMouse;\n /**\n * Defines the touch sensibility for rotation.\n * The lower the faster.\n */\n this.touchAngularSensibility = 200000.0;\n /**\n * Defines the touch sensibility for move.\n * The lower the faster.\n */\n this.touchMoveSensibility = 250.0;\n /**\n * Swap touch actions so that one touch is used for rotation and multiple for movement\n */\n this.singleFingerRotate = false;\n this._offsetX = null;\n this._offsetY = null;\n this._pointerPressed = new Array();\n this._isSafari = Tools.IsSafari();\n }\n /**\n * Attach the input controls to a specific dom element to get the input from.\n * @param noPreventDefault Defines whether event caught by the controls should call preventdefault() (https://developer.mozilla.org/en-US/docs/Web/API/Event/preventDefault)\n */\n attachControl(noPreventDefault) {\n // eslint-disable-next-line prefer-rest-params\n noPreventDefault = Tools.BackCompatCameraNoPreventDefault(arguments);\n let previousPosition = null;\n if (this._pointerInput === undefined) {\n this._onLostFocus = () => {\n this._offsetX = null;\n this._offsetY = null;\n };\n this._pointerInput = (p) => {\n const evt = p.event;\n const isMouseEvent = evt.pointerType === \"mouse\" || (this._isSafari && typeof evt.pointerType === \"undefined\");\n if (!this.allowMouse && isMouseEvent) {\n return;\n }\n if (p.type === PointerEventTypes.POINTERDOWN) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n this._pointerPressed.push(evt.pointerId);\n if (this._pointerPressed.length !== 1) {\n return;\n }\n previousPosition = {\n x: evt.clientX,\n y: evt.clientY,\n };\n }\n else if (p.type === PointerEventTypes.POINTERUP) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n const index = this._pointerPressed.indexOf(evt.pointerId);\n if (index === -1) {\n return;\n }\n this._pointerPressed.splice(index, 1);\n if (index != 0) {\n return;\n }\n previousPosition = null;\n this._offsetX = null;\n this._offsetY = null;\n }\n else if (p.type === PointerEventTypes.POINTERMOVE) {\n if (!noPreventDefault) {\n evt.preventDefault();\n }\n if (!previousPosition) {\n return;\n }\n const index = this._pointerPressed.indexOf(evt.pointerId);\n if (index != 0) {\n return;\n }\n this._offsetX = evt.clientX - previousPosition.x;\n this._offsetY = -(evt.clientY - previousPosition.y);\n }\n };\n }\n this._observer = this.camera\n .getScene()\n ._inputManager._addCameraPointerObserver(this._pointerInput, PointerEventTypes.POINTERDOWN | PointerEventTypes.POINTERUP | PointerEventTypes.POINTERMOVE);\n if (this._onLostFocus) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.addEventListener(\"blur\", this._onLostFocus);\n }\n }\n /**\n * Detach the current controls from the specified dom element.\n */\n detachControl() {\n if (this._pointerInput) {\n if (this._observer) {\n this.camera.getScene()._inputManager._removeCameraPointerObserver(this._observer);\n this._observer = null;\n }\n if (this._onLostFocus) {\n const engine = this.camera.getEngine();\n const element = engine.getInputElement();\n element && element.removeEventListener(\"blur\", this._onLostFocus);\n this._onLostFocus = null;\n }\n this._pointerPressed.length = 0;\n this._offsetX = null;\n this._offsetY = null;\n }\n }\n /**\n * Update the current camera state depending on the inputs that have been used this frame.\n * This is a dynamically created lambda to avoid the performance penalty of looping for inputs in the render loop.\n */\n checkInputs() {\n if (this._offsetX === null || this._offsetY === null) {\n return;\n }\n if (this._offsetX === 0 && this._offsetY === 0) {\n return;\n }\n const camera = this.camera;\n const handednessMultiplier = camera._calculateHandednessMultiplier();\n camera.cameraRotation.y = (handednessMultiplier * this._offsetX) / this.touchAngularSensibility;\n const rotateCamera = (this.singleFingerRotate && this._pointerPressed.length === 1) || (!this.singleFingerRotate && this._pointerPressed.length > 1);\n if (rotateCamera) {\n camera.cameraRotation.x = -this._offsetY / this.touchAngularSensibility;\n }\n else {\n const speed = camera._computeLocalCameraSpeed();\n const direction = new Vector3(0, 0, this.touchMoveSensibility !== 0 ? (speed * this._offsetY) / this.touchMoveSensibility : 0);\n Matrix.RotationYawPitchRollToRef(camera.rotation.y, camera.rotation.x, 0, camera._cameraRotationMatrix);\n camera.cameraDirection.addInPlace(Vector3.TransformCoordinates(direction, camera._cameraRotationMatrix));\n }\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FreeCameraTouchInput\";\n }\n /**\n * Get the friendly name associated with the input class.\n * @returns the input friendly name\n */\n getSimpleName() {\n return \"touch\";\n }\n}\n__decorate([\n serialize()\n], FreeCameraTouchInput.prototype, \"touchAngularSensibility\", void 0);\n__decorate([\n serialize()\n], FreeCameraTouchInput.prototype, \"touchMoveSensibility\", void 0);\nCameraInputTypes[\"FreeCameraTouchInput\"] = FreeCameraTouchInput;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}
|