29547369aaffa4af9737fdc4a86bde19336d80f2a9ebaaaebd349e3e5e8b8cf7.json 23 KB

1
  1. {"ast":null,"code":"import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { BaseCameraPointersInput } from \"../../Cameras/Inputs/BaseCameraPointersInput.js\";\nimport { Logger } from \"../../Misc/logger.js\";\n/**\n * Manage the pointers inputs to control an follow camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FollowCameraPointersInput extends BaseCameraPointersInput {\n constructor() {\n super(...arguments);\n /**\n * Defines the pointer angular sensibility along the X axis or how fast is\n * the camera rotating.\n * A negative number will reverse the axis direction.\n */\n this.angularSensibilityX = 1;\n /**\n * Defines the pointer angular sensibility along the Y axis or how fast is\n * the camera rotating.\n * A negative number will reverse the axis direction.\n */\n this.angularSensibilityY = 1;\n /**\n * Defines the pointer pinch precision or how fast is the camera zooming.\n * A negative number will reverse the axis direction.\n */\n this.pinchPrecision = 10000.0;\n /**\n * pinchDeltaPercentage will be used instead of pinchPrecision if different\n * from 0.\n * It defines the percentage of current camera.radius to use as delta when\n * pinch zoom is used.\n */\n this.pinchDeltaPercentage = 0;\n /**\n * Pointer X axis controls zoom. (X axis modifies camera.radius value.)\n */\n this.axisXControlRadius = false;\n /**\n * Pointer X axis controls height. (X axis modifies camera.heightOffset value.)\n */\n this.axisXControlHeight = false;\n /**\n * Pointer X axis controls angle. (X axis modifies camera.rotationOffset value.)\n */\n this.axisXControlRotation = true;\n /**\n * Pointer Y axis controls zoom. (Y axis modifies camera.radius value.)\n */\n this.axisYControlRadius = false;\n /**\n * Pointer Y axis controls height. (Y axis modifies camera.heightOffset value.)\n */\n this.axisYControlHeight = true;\n /**\n * Pointer Y axis controls angle. (Y axis modifies camera.rotationOffset value.)\n */\n this.axisYControlRotation = false;\n /**\n * Pinch controls zoom. (Pinch modifies camera.radius value.)\n */\n this.axisPinchControlRadius = true;\n /**\n * Pinch controls height. (Pinch modifies camera.heightOffset value.)\n */\n this.axisPinchControlHeight = false;\n /**\n * Pinch controls angle. (Pinch modifies camera.rotationOffset value.)\n */\n this.axisPinchControlRotation = false;\n /**\n * Log error messages if basic misconfiguration has occurred.\n */\n this.warningEnable = true;\n /* Check for obvious misconfiguration. */\n this._warningCounter = 0;\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FollowCameraPointersInput\";\n }\n onTouch(pointA, offsetX, offsetY) {\n this._warning();\n if (this.axisXControlRotation) {\n this.camera.rotationOffset += offsetX / this.angularSensibilityX;\n } else if (this.axisYControlRotation) {\n this.camera.rotationOffset += offsetY / this.angularSensibilityX;\n }\n if (this.axisXControlHeight) {\n this.camera.heightOffset += offsetX / this.angularSensibilityY;\n } else if (this.axisYControlHeight) {\n this.camera.heightOffset += offsetY / this.angularSensibilityY;\n }\n if (this.axisXControlRadius) {\n this.camera.radius -= offsetX / this.angularSensibilityY;\n } else if (this.axisYControlRadius) {\n this.camera.radius -= offsetY / this.angularSensibilityY;\n }\n }\n onMultiTouch(pointA, pointB, previousPinchSquaredDistance, pinchSquaredDistance, previousMultiTouchPanPosition, multiTouchPanPosition) {\n if (previousPinchSquaredDistance === 0 && previousMultiTouchPanPosition === null) {\n // First time this method is called for new pinch.\n // Next time this is called there will be a\n // previousPinchSquaredDistance and pinchSquaredDistance to compare.\n return;\n }\n if (pinchSquaredDistance === 0 && multiTouchPanPosition === null) {\n // Last time this method is called at the end of a pinch.\n return;\n }\n let pinchDelta = (pinchSquaredDistance - previousPinchSquaredDistance) / (this.pinchPrecision * (this.angularSensibilityX + this.angularSensibilityY) / 2);\n if (this.pinchDeltaPercentage) {\n pinchDelta *= 0.01 * this.pinchDeltaPercentage;\n if (this.axisPinchControlRotation) {\n this.camera.rotationOffset += pinchDelta * this.camera.rotationOffset;\n }\n if (this.axisPinchControlHeight) {\n this.camera.heightOffset += pinchDelta * this.camera.heightOffset;\n }\n if (this.axisPinchControlRadius) {\n this.camera.radius -= pinchDelta * this.camera.radius;\n }\n } else {\n if (this.axisPinchControlRotation) {\n this.camera.rotationOffset += pinchDelta;\n }\n if (this.axisPinchControlHeight) {\n this.camera.heightOffset += pinchDelta;\n }\n if (this.axisPinchControlRadius) {\n this.camera.radius -= pinchDelta;\n }\n }\n }\n _warning() {\n if (!this.warningEnable || this._warningCounter++ % 100 !== 0) {\n return;\n }\n const warn = \"It probably only makes sense to control ONE camera \" + \"property with each pointer axis. Set 'warningEnable = false' \" + \"if you are sure. Currently enabled: \";\n if (+this.axisXControlRotation + +this.axisXControlHeight + +this.axisXControlRadius <= 1) {\n Logger.Warn(warn + \"axisXControlRotation: \" + this.axisXControlRotation + \", axisXControlHeight: \" + this.axisXControlHeight + \", axisXControlRadius: \" + this.axisXControlRadius);\n }\n if (+this.axisYControlRotation + +this.axisYControlHeight + +this.axisYControlRadius <= 1) {\n Logger.Warn(warn + \"axisYControlRotation: \" + this.axisYControlRotation + \", axisYControlHeight: \" + this.axisYControlHeight + \", axisYControlRadius: \" + this.axisYControlRadius);\n }\n if (+this.axisPinchControlRotation + +this.axisPinchControlHeight + +this.axisPinchControlRadius <= 1) {\n Logger.Warn(warn + \"axisPinchControlRotation: \" + this.axisPinchControlRotation + \", axisPinchControlHeight: \" + this.axisPinchControlHeight + \", axisPinchControlRadius: \" + this.axisPinchControlRadius);\n }\n }\n}\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"angularSensibilityX\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"angularSensibilityY\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"pinchPrecision\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"pinchDeltaPercentage\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisXControlRadius\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisXControlHeight\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisXControlRotation\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisYControlRadius\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisYControlHeight\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisYControlRotation\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisPinchControlRadius\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisPinchControlHeight\", void 0);\n__decorate([serialize()], FollowCameraPointersInput.prototype, \"axisPinchControlRotation\", void 0);\nCameraInputTypes[\"FollowCameraPointersInput\"] = FollowCameraPointersInput;","map":{"version":3,"names":["__decorate","serialize","CameraInputTypes","BaseCameraPointersInput","Logger","FollowCameraPointersInput","constructor","arguments","angularSensibilityX","angularSensibilityY","pinchPrecision","pinchDeltaPercentage","axisXControlRadius","axisXControlHeight","axisXControlRotation","axisYControlRadius","axisYControlHeight","axisYControlRotation","axisPinchControlRadius","axisPinchControlHeight","axisPinchControlRotation","warningEnable","_warningCounter","getClassName","onTouch","pointA","offsetX","offsetY","_warning","camera","rotationOffset","heightOffset","radius","onMultiTouch","pointB","previousPinchSquaredDistance","pinchSquaredDistance","previousMultiTouchPanPosition","multiTouchPanPosition","pinchDelta","warn","Warn","prototype"],"sources":["F:/workspace/202226701027/huinongbao-app/node_modules/@babylonjs/core/Cameras/Inputs/followCameraPointersInput.js"],"sourcesContent":["import { __decorate } from \"../../tslib.es6.js\";\nimport { serialize } from \"../../Misc/decorators.js\";\nimport { CameraInputTypes } from \"../../Cameras/cameraInputsManager.js\";\nimport { BaseCameraPointersInput } from \"../../Cameras/Inputs/BaseCameraPointersInput.js\";\nimport { Logger } from \"../../Misc/logger.js\";\n/**\n * Manage the pointers inputs to control an follow camera.\n * @see https://doc.babylonjs.com/features/featuresDeepDive/cameras/customizingCameraInputs\n */\nexport class FollowCameraPointersInput extends BaseCameraPointersInput {\n constructor() {\n super(...arguments);\n /**\n * Defines the pointer angular sensibility along the X axis or how fast is\n * the camera rotating.\n * A negative number will reverse the axis direction.\n */\n this.angularSensibilityX = 1;\n /**\n * Defines the pointer angular sensibility along the Y axis or how fast is\n * the camera rotating.\n * A negative number will reverse the axis direction.\n */\n this.angularSensibilityY = 1;\n /**\n * Defines the pointer pinch precision or how fast is the camera zooming.\n * A negative number will reverse the axis direction.\n */\n this.pinchPrecision = 10000.0;\n /**\n * pinchDeltaPercentage will be used instead of pinchPrecision if different\n * from 0.\n * It defines the percentage of current camera.radius to use as delta when\n * pinch zoom is used.\n */\n this.pinchDeltaPercentage = 0;\n /**\n * Pointer X axis controls zoom. (X axis modifies camera.radius value.)\n */\n this.axisXControlRadius = false;\n /**\n * Pointer X axis controls height. (X axis modifies camera.heightOffset value.)\n */\n this.axisXControlHeight = false;\n /**\n * Pointer X axis controls angle. (X axis modifies camera.rotationOffset value.)\n */\n this.axisXControlRotation = true;\n /**\n * Pointer Y axis controls zoom. (Y axis modifies camera.radius value.)\n */\n this.axisYControlRadius = false;\n /**\n * Pointer Y axis controls height. (Y axis modifies camera.heightOffset value.)\n */\n this.axisYControlHeight = true;\n /**\n * Pointer Y axis controls angle. (Y axis modifies camera.rotationOffset value.)\n */\n this.axisYControlRotation = false;\n /**\n * Pinch controls zoom. (Pinch modifies camera.radius value.)\n */\n this.axisPinchControlRadius = true;\n /**\n * Pinch controls height. (Pinch modifies camera.heightOffset value.)\n */\n this.axisPinchControlHeight = false;\n /**\n * Pinch controls angle. (Pinch modifies camera.rotationOffset value.)\n */\n this.axisPinchControlRotation = false;\n /**\n * Log error messages if basic misconfiguration has occurred.\n */\n this.warningEnable = true;\n /* Check for obvious misconfiguration. */\n this._warningCounter = 0;\n }\n /**\n * Gets the class name of the current input.\n * @returns the class name\n */\n getClassName() {\n return \"FollowCameraPointersInput\";\n }\n onTouch(pointA, offsetX, offsetY) {\n this._warning();\n if (this.axisXControlRotation) {\n this.camera.rotationOffset += offsetX / this.angularSensibilityX;\n }\n else if (this.axisYControlRotation) {\n this.camera.rotationOffset += offsetY / this.angularSensibilityX;\n }\n if (this.axisXControlHeight) {\n this.camera.heightOffset += offsetX / this.angularSensibilityY;\n }\n else if (this.axisYControlHeight) {\n this.camera.heightOffset += offsetY / this.angularSensibilityY;\n }\n if (this.axisXControlRadius) {\n this.camera.radius -= offsetX / this.angularSensibilityY;\n }\n else if (this.axisYControlRadius) {\n this.camera.radius -= offsetY / this.angularSensibilityY;\n }\n }\n onMultiTouch(pointA, pointB, previousPinchSquaredDistance, pinchSquaredDistance, previousMultiTouchPanPosition, multiTouchPanPosition) {\n if (previousPinchSquaredDistance === 0 && previousMultiTouchPanPosition === null) {\n // First time this method is called for new pinch.\n // Next time this is called there will be a\n // previousPinchSquaredDistance and pinchSquaredDistance to compare.\n return;\n }\n if (pinchSquaredDistance === 0 && multiTouchPanPosition === null) {\n // Last time this method is called at the end of a pinch.\n return;\n }\n let pinchDelta = (pinchSquaredDistance - previousPinchSquaredDistance) / ((this.pinchPrecision * (this.angularSensibilityX + this.angularSensibilityY)) / 2);\n if (this.pinchDeltaPercentage) {\n pinchDelta *= 0.01 * this.pinchDeltaPercentage;\n if (this.axisPinchControlRotation) {\n this.camera.rotationOffset += pinchDelta * this.camera.rotationOffset;\n }\n if (this.axisPinchControlHeight) {\n this.camera.heightOffset += pinchDelta * this.camera.heightOffset;\n }\n if (this.axisPinchControlRadius) {\n this.camera.radius -= pinchDelta * this.camera.radius;\n }\n }\n else {\n if (this.axisPinchControlRotation) {\n this.camera.rotationOffset += pinchDelta;\n }\n if (this.axisPinchControlHeight) {\n this.camera.heightOffset += pinchDelta;\n }\n if (this.axisPinchControlRadius) {\n this.camera.radius -= pinchDelta;\n }\n }\n }\n _warning() {\n if (!this.warningEnable || this._warningCounter++ % 100 !== 0) {\n return;\n }\n const warn = \"It probably only makes sense to control ONE camera \" + \"property with each pointer axis. Set 'warningEnable = false' \" + \"if you are sure. Currently enabled: \";\n if (+this.axisXControlRotation + +this.axisXControlHeight + +this.axisXControlRadius <= 1) {\n Logger.Warn(warn +\n \"axisXControlRotation: \" +\n this.axisXControlRotation +\n \", axisXControlHeight: \" +\n this.axisXControlHeight +\n \", axisXControlRadius: \" +\n this.axisXControlRadius);\n }\n if (+this.axisYControlRotation + +this.axisYControlHeight + +this.axisYControlRadius <= 1) {\n Logger.Warn(warn +\n \"axisYControlRotation: \" +\n this.axisYControlRotation +\n \", axisYControlHeight: \" +\n this.axisYControlHeight +\n \", axisYControlRadius: \" +\n this.axisYControlRadius);\n }\n if (+this.axisPinchControlRotation + +this.axisPinchControlHeight + +this.axisPinchControlRadius <= 1) {\n Logger.Warn(warn +\n \"axisPinchControlRotation: \" +\n this.axisPinchControlRotation +\n \", axisPinchControlHeight: \" +\n this.axisPinchControlHeight +\n \", axisPinchControlRadius: \" +\n this.axisPinchControlRadius);\n }\n }\n}\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"angularSensibilityX\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"angularSensibilityY\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"pinchPrecision\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"pinchDeltaPercentage\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisXControlRadius\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisXControlHeight\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisXControlRotation\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisYControlRadius\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisYControlHeight\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisYControlRotation\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisPinchControlRadius\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisPinchControlHeight\", void 0);\n__decorate([\n serialize()\n], FollowCameraPointersInput.prototype, \"axisPinchControlRotation\", void 0);\nCameraInputTypes[\"FollowCameraPointersInput\"] = FollowCameraPointersInput;\n"],"mappings":"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","ignoreList":[]},"metadata":{},"sourceType":"module","externalDependencies":[]}