@anov/3d 0.0.176 → 0.0.184

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (135) hide show
  1. package/dist/anov3d.js +0 -2
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +38 -39
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/module/camera/index.js +20 -17
  6. package/dist/module/camera/index.js.map +1 -1
  7. package/dist/module/entity/area/index.js +29 -0
  8. package/dist/module/entity/area/index.js.map +1 -0
  9. package/dist/module/{model/index.js → entity/area/style/area_01.js} +40 -79
  10. package/dist/module/entity/area/style/area_01.js.map +1 -0
  11. package/dist/module/entity/area/style/index.js +27 -0
  12. package/dist/module/entity/area/style/index.js.map +1 -0
  13. package/dist/module/entity/area/type.js.map +1 -0
  14. package/dist/module/entity/bar/index.js +29 -0
  15. package/dist/module/entity/bar/index.js.map +1 -0
  16. package/dist/{factory/unit/poi.js → module/entity/bar/style/bar_01.js} +36 -249
  17. package/dist/module/entity/bar/style/bar_01.js.map +1 -0
  18. package/dist/module/entity/bar/style/index.js +27 -0
  19. package/dist/module/entity/bar/style/index.js.map +1 -0
  20. package/dist/module/entity/bar/type.js +2 -0
  21. package/dist/module/entity/bar/type.js.map +1 -0
  22. package/dist/module/entity/index.js +5 -12
  23. package/dist/module/entity/index.js.map +1 -1
  24. package/dist/module/entity/model/index.js +9 -6
  25. package/dist/module/entity/model/index.js.map +1 -1
  26. package/dist/module/entity/model/load/loadFbx.js.map +1 -1
  27. package/dist/module/entity/model/load/loadGlb.js +7 -4
  28. package/dist/module/entity/model/load/loadGlb.js.map +1 -1
  29. package/dist/module/entity/poi/style/base.js.map +1 -1
  30. package/dist/module/entity/poi/type.js.map +1 -1
  31. package/dist/{factory/unit/districtLine.js → module/entity/realismTraffic/index.js} +91 -109
  32. package/dist/module/entity/realismTraffic/index.js.map +1 -0
  33. package/dist/module/entity/spline/style/index.js.map +1 -1
  34. package/dist/module/entity/spline/style/line_01.js +2 -2
  35. package/dist/module/entity/spline/style/line_01.js.map +1 -1
  36. package/dist/module/entity/spline/style/line_texture_01.js +6 -6
  37. package/dist/module/entity/spline/style/line_texture_01.js.map +1 -1
  38. package/dist/module/entity/spline/type.js.map +1 -1
  39. package/dist/module/entity/strategy.js +22 -0
  40. package/dist/module/entity/strategy.js.map +1 -1
  41. package/dist/module/entity/utils.js +17 -0
  42. package/dist/module/entity/utils.js.map +1 -1
  43. package/dist/module/environment/index.js +35 -113
  44. package/dist/module/environment/index.js.map +1 -1
  45. package/dist/module/scene/fileParse.js +232 -132
  46. package/dist/module/scene/fileParse.js.map +1 -1
  47. package/dist/module/scene/index.js +84 -137
  48. package/dist/module/scene/index.js.map +1 -1
  49. package/dist/{factory/globalControl.js → module/tool/index.js} +8 -16
  50. package/dist/module/tool/index.js.map +1 -0
  51. package/dist/sdkEntry.js +4 -9
  52. package/dist/sdkEntry.js.map +1 -1
  53. package/package.json +3 -3
  54. package/dist/factory/3d.js +0 -535
  55. package/dist/factory/3d.js.map +0 -1
  56. package/dist/factory/globalControl.js.map +0 -1
  57. package/dist/factory/globalData.js +0 -2
  58. package/dist/factory/globalData.js.map +0 -1
  59. package/dist/factory/regionData.js +0 -499
  60. package/dist/factory/regionData.js.map +0 -1
  61. package/dist/factory/type.js.map +0 -1
  62. package/dist/factory/unit/CameraPoi.js +0 -1047
  63. package/dist/factory/unit/CameraPoi.js.map +0 -1
  64. package/dist/factory/unit/areaBoundingBox.js +0 -28
  65. package/dist/factory/unit/areaBoundingBox.js.map +0 -1
  66. package/dist/factory/unit/circle.js +0 -225
  67. package/dist/factory/unit/circle.js.map +0 -1
  68. package/dist/factory/unit/cylinder.js +0 -269
  69. package/dist/factory/unit/cylinder.js.map +0 -1
  70. package/dist/factory/unit/districtLine.js.map +0 -1
  71. package/dist/factory/unit/glsl/heat/frag.glsl +0 -37
  72. package/dist/factory/unit/glsl/heat/frag.js +0 -4
  73. package/dist/factory/unit/glsl/heat/frag.js.map +0 -1
  74. package/dist/factory/unit/glsl/heat/ver.glsl +0 -15
  75. package/dist/factory/unit/glsl/heat/ver.js +0 -4
  76. package/dist/factory/unit/glsl/heat/ver.js.map +0 -1
  77. package/dist/factory/unit/glsl/highway/fragmentShader.js +0 -4
  78. package/dist/factory/unit/glsl/highway/fragmentShader.js.map +0 -1
  79. package/dist/factory/unit/glsl/highway/fragmentShader2.js +0 -4
  80. package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +0 -1
  81. package/dist/factory/unit/glsl/highway/vertexShader.js +0 -4
  82. package/dist/factory/unit/glsl/highway/vertexShader.js.map +0 -1
  83. package/dist/factory/unit/glsl/point/fragment.glsl +0 -12
  84. package/dist/factory/unit/glsl/point/vertex.glsl +0 -7
  85. package/dist/factory/unit/glsl/wall/fragmentShader.glsl +0 -30
  86. package/dist/factory/unit/glsl/wall/vertexShader.glsl +0 -6
  87. package/dist/factory/unit/handle.js +0 -132
  88. package/dist/factory/unit/handle.js.map +0 -1
  89. package/dist/factory/unit/index.js +0 -264
  90. package/dist/factory/unit/index.js.map +0 -1
  91. package/dist/factory/unit/inspection/InspectionObject.js +0 -608
  92. package/dist/factory/unit/inspection/InspectionObject.js.map +0 -1
  93. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +0 -382
  94. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +0 -1
  95. package/dist/factory/unit/inspection/index.js +0 -379
  96. package/dist/factory/unit/inspection/index.js.map +0 -1
  97. package/dist/factory/unit/inspection/lineData.js +0 -44
  98. package/dist/factory/unit/inspection/lineData.js.map +0 -1
  99. package/dist/factory/unit/inspection/map.js +0 -67
  100. package/dist/factory/unit/inspection/map.js.map +0 -1
  101. package/dist/factory/unit/inspection/tubeGeometry.js +0 -152
  102. package/dist/factory/unit/inspection/tubeGeometry.js.map +0 -1
  103. package/dist/factory/unit/layer/rise.js +0 -142
  104. package/dist/factory/unit/layer/rise.js.map +0 -1
  105. package/dist/factory/unit/line.js +0 -96
  106. package/dist/factory/unit/line.js.map +0 -1
  107. package/dist/factory/unit/poi.js.map +0 -1
  108. package/dist/factory/unit/region.js +0 -72
  109. package/dist/factory/unit/region.js.map +0 -1
  110. package/dist/factory/unit/slice.js +0 -122
  111. package/dist/factory/unit/slice.js.map +0 -1
  112. package/dist/factory/unit/wall.js +0 -119
  113. package/dist/factory/unit/wall.js.map +0 -1
  114. package/dist/factory/utils/areaBoundingBox.js +0 -54
  115. package/dist/factory/utils/areaBoundingBox.js.map +0 -1
  116. package/dist/factory/utils/constant.js +0 -15
  117. package/dist/factory/utils/constant.js.map +0 -1
  118. package/dist/factory/utils/finirMaterial.js +0 -56
  119. package/dist/factory/utils/finirMaterial.js.map +0 -1
  120. package/dist/factory/utils/fontMesh.js +0 -49
  121. package/dist/factory/utils/fontMesh.js.map +0 -1
  122. package/dist/factory/utils/ground.js +0 -65
  123. package/dist/factory/utils/ground.js.map +0 -1
  124. package/dist/factory/utils/index.js +0 -24
  125. package/dist/factory/utils/index.js.map +0 -1
  126. package/dist/factory/utils/observe.js +0 -23
  127. package/dist/factory/utils/observe.js.map +0 -1
  128. package/dist/factory/utils/switchMaterial.js +0 -110
  129. package/dist/factory/utils/switchMaterial.js.map +0 -1
  130. package/dist/module/environment/time/index.js +0 -28
  131. package/dist/module/environment/time/index.js.map +0 -1
  132. package/dist/module/environment/weather/type.js +0 -28
  133. package/dist/module/environment/weather/type.js.map +0 -1
  134. package/dist/module/model/index.js.map +0 -1
  135. /package/dist/{factory → module/entity/area}/type.js +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"names":["_regeneratorRuntime","e","t","r","Object","prototype","n","hasOwnProperty","o","defineProperty","value","i","Symbol","a","iterator","c","asyncIterator","u","toStringTag","define","enumerable","configurable","writable","wrap","Generator","create","Context","makeInvokeMethod","tryCatch","type","arg","call","h","l","f","s","y","GeneratorFunction","GeneratorFunctionPrototype","p","d","getPrototypeOf","v","values","g","defineIteratorMethods","forEach","_invoke","AsyncIterator","invoke","_typeof","resolve","__await","then","callInvokeWithMethodAndArg","Error","done","method","delegate","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","return","TypeError","resultName","next","nextLoc","pushTryEntry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","isNaN","length","displayName","isGeneratorFunction","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","keys","reverse","pop","prev","charAt","slice","stop","rval","handle","complete","finish","catch","_catch","delegateYield","asyncGeneratorStep","gen","reject","_next","_throw","key","info","error","_asyncToGenerator","fn","self","args","arguments","apply","err","undefined","_classCallCheck","instance","Constructor","_defineProperties","target","props","descriptor","_toPropertyKey","_createClass","protoProps","staticProps","_defineProperty","obj","_toPrimitive","String","toPrimitive","Number","AudioListener","AudioLoader","Clock","Color","EdgesGeometry","Euler","Group","LineBasicMaterial","LineCurve3","LineSegments","MathUtils","Matrix4","Mesh","MeshBasicMaterial","MirroredRepeatWrapping","ModelLoader","PlaneGeometry","PositionalAudio","Quaternion","RepeatWrapping","TextureLoader","Vector3","use","utils","SpritePoi","Tween","createFinirMaterial","usePath","MessageType","sendToMessage","EMessageStatus","SceneTag","isCheck","targetProgresspoints","TubeGeometryV2","modelLoader","InspectionObject","inspection","verticalSpeed","horizontalSpeed","height","targetQuaternion","mesh","cb","clock","quaternion","equals","animation","useframe","delta","getDelta","step","rotateTowards","temp","load","concat","wrapS","wrapT","repeat","set","rotation","Math","PI","_loadModel","_callee","_this","glb","div","img","span","poi","img2","poi2","fly1","fly2","fly3","fly4","planeGeometry","planeMaterial","plyMap","group","_callee$","_context","loadGLTF","document","createElement","style","position","src","innerText","fontFamily","top","left","transform","color","fontSize","fontWeight","appendChild","width","scale","scene","getObjectByName","map","transparent","x","copy","layers","add","minCamera","clone","z","getSportsProgress","isLock","checkAnimation","compassInfo","rotateY","initialMinCameraQuaternion","model","visible","addEventListener","traverse","child","enable","gobal","loadPosAudio","breathinglamp","loadModel","startColor","endColor","breathingSpeed","elapsedTime","getElapsedTime","sin","currentColor","lerp","material","_this2","handleMouseMove","listener","posAudio","audioLoader","audioBuffer","setBuffer","setVolume","setRefDistance","setLoop","emitter","on","isStartUp","play","removeEventListener","_startMove","_callee2","curve","_this3","_callee2$","_context2","control","moveWithLine","speed","groundCurve","getPointAt","setTimeout","sendCompassInfo","groundMaterial","uniforms","u_time","mapMaterial","mapAnchorObject","mapAnchor","uColor","Event","Success","percentage","startMove","_x","_this4","setInterval","updateMatrixWorld","worldQuaternion","getWorldQuaternion","worldEuler","setFromQuaternion","rotationY","rotationYInDegrees","round","radToDeg","rotate","abs","degree","distance","getLength","get","getProgress","subscription","data","progress","_this5","isAnimation","defaultFirstPerspectiveControls","enabled","find","num","parseFloat","targetMeshId","lookAt","targetMesh","pipeline","realModl","contineMove","currentAnchor","anchorObject","currentMapAnchor","numberKey","rotationMatrix","startQuaternion","startCameraQuaternion","targetMeshPosition","up","setFromRotationMatrix","forwardTween","to","onUpdate","slerp","backwardTween","onComplete","finirMesh","finirMaterialV2","lineSegments","geometry","start","off","generateTempPath","currentPosition","targetPosition","generateTempPathMesh","_this6","tube","tempPathMesh","depthTest","tempDemo","offset","tag","cleanTempPathMesh","dispose","removeFromParent","takeOffAnimation","_this7","upCurve","upControl","lookat","continue","gotoTarget","targetProgress","_this8","startRotate","tempPathMeshtargetPosition","tempCurve","tempControl","lastPosition","downCurve","downControl","rotationMatrix2","targetQuaternion2","targetPosition2","setProgress","setSpeed","contineCount","emit","camera"],"sources":["../../../../src/factory/unit/inspection/InspectionObject.ts"],"sourcesContent":["import type { Camera, Curve, Object3D } from '@anov/3d-core'\nimport { AudioListener, AudioLoader, BoxGeometry, Clock, Color, EdgesGeometry, Euler, Group, LineBasicMaterial, LineCurve3, LineSegments, MathUtils, Matrix4, Mesh, MeshBasicMaterial, MeshStandardMaterial, MirroredRepeatWrapping, ModelLoader, PlaneGeometry, PointLight, PositionalAudio, Quaternion, RepeatWrapping, ShaderChunk, ShaderMaterial, Sprite, SpriteMaterial, TextureLoader, TubeGeometry, Vector3, Vector4, use, utils } from '@anov/3d-core'\nimport type { Css2DPoi } from '@anov/3d-ability'\nimport { SpritePoi, addColorifyPass, createHighSelectedTool } from '@anov/3d-ability'\nimport { Tween } from '@tweenjs/tween.js'\nimport { createFinirMaterial } from '../../utils/finirMaterial'\nimport { usePath } from '../../3d'\nimport { MessageType, sendToMessage } from '../../../utils/messageFn'\nimport { EMessageStatus } from '../../../messageStatus'\nimport { SceneTag } from '../../utils/constant'\nimport { isCheck, targetProgresspoints } from './lineData'\nimport TubeGeometryV2 from './tubeGeometry'\n\nconst modelLoader = new ModelLoader()\n\nclass InspectionObject {\n model\n private inspection\n private control\n private isLock = false\n private isAnimation = false\n walkCurveMesh\n tempPathMesh\n css2d: Css2DPoi\n temp\n tempDemo\n isStartUp = false\n initialMinCameraQuaternion\n contineCount = 0\n\n compassInfo = {\n verticalSpeed: 0,\n horizontalSpeed: 10,\n height: 0,\n }\n\n constructor(inspection) {\n this.inspection = inspection\n\n const temp = new TextureLoader().load(`${usePath}test07.png`)\n temp.wrapS = RepeatWrapping\n temp.wrapT = MirroredRepeatWrapping\n temp.repeat.set(1, 2)\n temp.rotation = Math.PI\n\n this.temp = temp\n }\n\n private async loadModel() {\n const glb = await (await modelLoader.loadGLTF(`${usePath}car.glb`, false, true, './draco/'))\n\n const div = document.createElement('div')\n div.style.position = 'relative'\n\n const img = document.createElement('img')\n img.src = `${usePath}aerialVehicle02.png`\n\n const span = document.createElement('span')\n span.innerText = '巡检无人机'\n span.style.fontFamily = 'YouSheBiaoTiHei3D'\n span.style.position = 'absolute'\n span.style.top = '8px'\n span.style.left = '45%'\n span.style.transform = 'translateX(-30%)'\n\n span.style.color = 'white'\n span.style.fontSize = '20px'\n span.style.fontWeight = 'bold'\n\n div.appendChild(img)\n div.appendChild(span)\n\n const poi = new SpritePoi(div, {\n width: 100 * 2,\n height: 40 * 2,\n })\n\n const img2 = document.createElement('img')\n img2.src = `${usePath}aerialVehicle01.png`\n\n const poi2 = new SpritePoi(img2, {\n width: 400 * 2,\n height: 160 * 2,\n })\n\n poi.scale.set(80, 30, 1)\n poi2.scale.set(400, 160, 1)\n\n const fly1 = glb.scene.getObjectByName('fly1')\n const fly2 = glb.scene.getObjectByName('fly1_1')\n const fly3 = glb.scene.getObjectByName('fly1_2')\n const fly4 = glb.scene.getObjectByName('fly1_3')\n\n const planeGeometry = new PlaneGeometry(50, 50)\n const planeMaterial = new MeshBasicMaterial({ map: new TextureLoader().load(`${usePath}fly.png`), transparent: true })\n const plyMap = new Mesh(planeGeometry, planeMaterial)\n\n plyMap.rotation.x = -Math.PI / 2\n plyMap.position.copy(glb.scene.position)\n plyMap.layers.set(5)\n\n const group = new Group()\n glb.scene.name = 'ply'\n group.add(glb.scene)\n group.add(poi)\n group.add(plyMap)\n group.add(this.inspection.minCamera)\n\n use.useframe(() => {\n poi.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n poi2.position.copy(glb.scene.position.clone().add(new Vector3(0, 10, 0)))\n\n fly1.rotation.z += 1.3\n fly2.rotation.z += 1.3\n fly3.rotation.z += 1.3\n fly4.rotation.z += 1.3\n\n if (isCheck(this.getSportsProgress)\n && !this.isLock) {\n this.stop()\n this.checkAnimation(this.getSportsProgress)\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 0\n }\n })\n\n this.inspection.minCamera.position.copy(glb.scene.position)\n this.inspection.minCamera.position.z -= 18\n this.inspection.minCamera.position.y += 4\n this.inspection.minCamera.rotateY(Math.PI)\n this.initialMinCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n this.model = group\n\n poi2.visible = false\n\n poi.addEventListener('click', () => {\n group.add(poi2)\n poi2.visible = true\n poi.visible = false\n })\n\n poi2.addEventListener('click', () => {\n group.add(poi2)\n poi.visible = true\n poi2.visible = false\n })\n\n glb.scene.scale.set(5, 5, 5)\n glb.scene.traverse((child) => {\n child.layers.enable(5)\n })\n\n this.inspection.gobal.scene.add(this.model)\n\n this.loadPosAudio()\n this.breathinglamp(this.model)\n }\n\n private breathinglamp(model: Group) {\n const target = model.getObjectByName('网格004_5')\n\n const startColor = new Color('#999')\n const endColor = new Color('#2df3ee')\n\n const clock = new Clock()\n const breathingSpeed = 1\n\n use.useframe(() => {\n const elapsedTime = clock.getElapsedTime()\n const t = (Math.sin(elapsedTime * Math.PI * breathingSpeed) + 1) / 2\n const currentColor = startColor.clone().lerp(endColor, t)\n\n // @ts-ignore\n target.material.color.set(currentColor)\n })\n }\n\n private loadPosAudio() {\n const handleMouseMove = () => {\n const listener = new AudioListener()\n this.inspection.minCamera.add(listener)\n\n const posAudio = new PositionalAudio(listener)\n this.model.add(posAudio)\n\n const audioLoader = new AudioLoader()\n\n audioLoader.load(`${usePath}demo.mp3`, (audioBuffer) => {\n posAudio.setBuffer(audioBuffer)\n posAudio.setVolume(0.8)\n posAudio.setRefDistance(200)\n posAudio.setLoop(true)\n })\n\n utils.emitter.on('play', () => {\n this.isStartUp && posAudio.play()\n })\n\n utils.emitter.on('stop', () => {\n posAudio.stop()\n })\n\n document.removeEventListener('mousemove', handleMouseMove)\n }\n\n document.addEventListener('mousemove', handleMouseMove)\n }\n\n async startMove(curve) {\n if (!this.model)\n await this.loadModel()\n\n this.control = utils.moveWithLine(this.model, curve, {\n speed: 10,\n groundCurve: this.inspection.groundCurve,\n })\n\n this.model.position.copy(curve.getPointAt(0))\n\n setTimeout(() => {\n this.stop();\n ((this.model) as Object3D).position.y = (this.model.position.y - 20)\n }, 20)\n\n this.sendCompassInfo()\n\n use.useframe(() => {\n this.inspection.groundMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n this.inspection.mapMaterial.uniforms.u_time.value = this.getSportsProgress - 0.01\n\n if (this.getSportsProgress > 0 && this.getSportsProgress < 0.01) {\n this.inspection.mapAnchorObject.forEach((mapAnchor) => {\n mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n }\n\n sendToMessage(MessageType.Event, 'onInspectProgress', EMessageStatus.Success, undefined, {\n percentage: this.getSportsProgress * 1000,\n })\n })\n }\n\n /**\n * send compass info\n * not use useframe, because useframe will be lose some frame\n */\n private sendCompassInfo() {\n setInterval(() => {\n const mesh = this.model\n mesh.updateMatrixWorld(true)\n\n const worldQuaternion = new Quaternion()\n mesh.getWorldQuaternion(worldQuaternion)\n\n const worldEuler = new Euler().setFromQuaternion(worldQuaternion, 'YXZ')\n const rotationY = worldEuler.y\n const rotationYInDegrees = Math.round(MathUtils.radToDeg(rotationY))\n\n sendToMessage(MessageType.Event, 'onCompassInfo', EMessageStatus.Success, undefined, {\n rotate: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees),\n degree: rotationYInDegrees >= 0 ? 180 - rotationYInDegrees : -180 + Math.abs(rotationYInDegrees) + 360,\n distance: this.getSportsProgress * this.inspection.curve.getLength(),\n verticalSpeed: this.compassInfo.verticalSpeed,\n horizontalSpeed: this.compassInfo.horizontalSpeed * 3.6,\n height: (this.model as Object3D).position.y,\n })\n }, 100)\n }\n\n get getSportsProgress() {\n if (!this.control)\n return 0\n\n return this.control.getProgress()\n }\n\n subscription() {\n return new Promise((resolve) => {\n utils.emitter.on('continue', (data) => {\n resolve(data)\n })\n })\n }\n\n private checkAnimation(progress: number) {\n this.isLock = true\n this.isAnimation = true\n this.inspection.defaultFirstPerspectiveControls.enabled = false\n\n const key = Object.keys(targetProgresspoints).find((p) => {\n const num = parseFloat(p)\n if (progress >= num && progress < num + 0.01)\n return true\n })\n\n const targetMeshId = targetProgresspoints[key].lookAt\n\n let targetMesh: Group | null = null\n\n if (targetMeshId === 'GY_GD_guandaofamen_5')\n targetMesh = this.inspection.gobal.pipeline.getObjectByName(targetMeshId) as Group\n\n else\n targetMesh = this.inspection.gobal.realModl.getObjectByName(targetMeshId) as Group\n\n if (!targetMesh) {\n this.contineMove()\n this.isAnimation = false\n setTimeout(() => {\n this.isLock = false\n }, 500)\n return\n }\n\n const currentAnchor = this.inspection.anchorObject.get(targetProgresspoints[key].name)\n const currentMapAnchor = this.inspection.mapAnchorObject\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('yellow') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#facb2b') })\n });\n\n (currentMapAnchor as Map<string, Mesh>).forEach((mapAnchor, key) => {\n const numberKey = Number(key)\n\n // @ts-ignore\n this.getSportsProgress > numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 0, 0.8)\n\n // @ts-ignore\n this.getSportsProgress < numberKey && mapAnchor.material.uniforms.uColor.value.set(1, 1, 1, 1)\n })\n\n setTimeout(() => {\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n const startQuaternion = this.model.quaternion.clone()\n const startCameraQuaternion = this.inspection.minCamera.quaternion.clone()\n\n const targetMeshPosition = targetMesh.position.clone()\n targetMeshPosition.y = targetMeshPosition.y + ((Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400) ? 20 : 0)\n\n rotationMatrix.lookAt(targetMeshPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n const forwardTween = new Tween({ t: 0 })\n .to({ t: 1 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n this.inspection.minCamera.quaternion.copy(startCameraQuaternion).slerp(this.initialMinCameraQuaternion, obj.t)\n })\n\n const backwardTween = new Tween({ t: 1 })\n .to({ t: 0 }, 2000)\n .onUpdate((obj) => {\n this.model.quaternion.copy(startQuaternion).slerp(targetQuaternion, obj.t)\n })\n\n forwardTween.onComplete(() => {\n let finirMesh: Group | null = null\n\n sendToMessage(MessageType.Event, 'onReachTarget', EMessageStatus.Success, undefined, {\n target: targetProgresspoints[key].name,\n })\n\n if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400)\n (this.inspection.minCamera as Camera).layers.set(2)\n\n if (Number(key) === 0.155 || Number(key) === 0.247) {\n (this.inspection.minCamera as Camera).layers.enable(3)\n // @ts-ignore\n if (!targetMesh.finirMesh) {\n finirMesh = targetMesh.clone() as any as Group\n\n const finirMaterialV2 = createFinirMaterial('#08A6E3', 4.3)\n\n finirMesh.traverse((child) => {\n child.layers.set(3)\n\n if (child.type === 'Mesh') {\n // @ts-ignore\n child.material = finirMaterialV2\n\n // @ts-ignore\n const lineSegments = new LineSegments(new EdgesGeometry(child.geometry as any), new LineBasicMaterial({ color: '#08A6E3' }))\n\n lineSegments.layers.set(3)\n finirMesh.add(lineSegments)\n }\n })\n\n // @ts-ignore\n targetMesh.finirMesh = finirMesh\n\n this.inspection.gobal.scene.add(finirMesh)\n }\n else {\n // @ts-ignore\n finirMesh = targetMesh.finirMesh\n\n finirMesh.visible = true\n }\n }\n\n // 异常点\n if (Number(key) === 0.155 || Number(key) === 0.247) {\n this.subscription().then((data) => {\n if (data) {\n finirMesh.visible = false\n backwardTween.start()\n\n utils.emitter.off('continue')\n }\n })\n }\n else {\n setTimeout(() => {\n if (Number(key) === 0.048 || Number(key) === 0.682 || Number(key) === 0.400)\n (this.inspection.minCamera as Camera).layers.set(0)\n\n // if (Number(key) === 0.40)\n // finirMesh.visible = false\n\n backwardTween.start()\n }, 6000)\n }\n })\n\n setTimeout(() => {\n forwardTween.start()\n }, 1000)\n\n backwardTween.onComplete(() => {\n this.isAnimation = false\n this.contineMove()\n\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\n\n currentAnchor.traverse((child) => {\n if (child.name === 'cylinder')\n child.material = new MeshBasicMaterial({ color: new Color('#cdccca') })\n else\n child.material = new MeshBasicMaterial({ color: new Color('#fff') })\n })\n\n setTimeout(() => {\n this.inspection.defaultFirstPerspectiveControls.enabled = true\n this.isLock = false\n }, 500)\n })\n }, 1000)\n }\n\n generateTempPath(currentPosition: Vector3, targetPosition: Vector3) {\n return new LineCurve3(currentPosition, targetPosition)\n }\n\n private startRotate = (targetQuaternion: Quaternion, mesh: Group, cb: () => void) => {\n const clock = new Clock()\n\n if (mesh.quaternion.equals(targetQuaternion))\n return cb()\n\n const animation = use.useframe(() => {\n const delta = clock.getDelta()\n if (!mesh.quaternion.equals(targetQuaternion)) {\n const step = 1 * delta\n mesh.quaternion.rotateTowards(targetQuaternion, step)\n }\n else {\n animation()\n cb()\n }\n },\n )\n }\n\n private generateTempPathMesh(curve: Curve<Vector3>) {\n // @ts-ignore\n const tube = new TubeGeometryV2(curve, 100, 5, 2, false)\n const tempPathMesh = new Mesh(tube, new MeshBasicMaterial({ map: this.temp, transparent: true, depthTest: true }))\n\n this.inspection.gobal.scene.add(tempPathMesh)\n this.tempPathMesh = tempPathMesh\n\n tempPathMesh.layers.enable(5)\n\n this.temp.repeat.set(curve.getLength() / 500, 2)\n this.tempDemo = use.useframe(() => {\n this.temp.offset.x -= -0.0009\n\n if (this.inspection.gobal.tag === SceneTag['smart-inspection'])\n this.tempPathMesh.visible = true\n else\n this.tempPathMesh.visible = false\n })\n }\n\n private cleanTempPathMesh() {\n if (this.tempPathMesh) {\n this.tempDemo()\n this.tempPathMesh.geometry.dispose()\n this.tempPathMesh.material.dispose();\n (this.tempPathMesh as Mesh).removeFromParent()\n }\n }\n\n private takeOffAnimation() {\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 20, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, { speed: 10, repeat: 1, lookat: false })\n\n this.compassInfo.horizontalSpeed = 0\n this.compassInfo.verticalSpeed = 10\n\n upControl.addEventListener('end', () => {\n this.control.continue()\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\n })\n }\n\n gotoTarget(targetPosition: Vector3, targetProgress: number) {\n if (this.isAnimation)\n return\n\n this.isAnimation = true\n\n this.control.stop()\n\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 0\n\n const rotationMatrix = new Matrix4()\n const targetQuaternion = new Quaternion()\n\n rotationMatrix.lookAt(targetPosition, this.model.position, this.model.up)\n targetQuaternion.setFromRotationMatrix(rotationMatrix)\n\n this.startRotate(targetQuaternion, this.model,\n () => {\n const tempPathMeshtargetPosition = new Vector3(targetPosition.x, 1.1, targetPosition.z)\n this.generateTempPathMesh(this.generateTempPath(new Vector3(this.model.position.x, 1.1, this.model.position.z), tempPathMeshtargetPosition))\n\n const currentPosition = this.model.position\n const upCurve = new LineCurve3(currentPosition, new Vector3(currentPosition.x, currentPosition.y + 50, currentPosition.z))\n const upControl = utils.moveWithLine(this.model, upCurve, { speed: 10, repeat: 1, lookat: targetPosition })\n\n this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\n\n // up end\n upControl.addEventListener('end', () => {\n const tempCurve = this.generateTempPath(currentPosition, new Vector3(targetPosition.x, targetPosition.y + 50, targetPosition.z))\n const tempControl = utils.moveWithLine(this.model, tempCurve, { speed: 60, repeat: 1, lookat: false })\n\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 60\n\n // temp end\n tempControl.addEventListener('end', () => {\n const lastPosition = this.model.position\n const downCurve = new LineCurve3(lastPosition, new Vector3(lastPosition.x, lastPosition.y - 50, lastPosition.z))\n const downControl = utils.moveWithLine(this.model, downCurve, { speed: 10, repeat: 1, lookat: false })\n\n this.compassInfo.verticalSpeed = 10\n this.compassInfo.horizontalSpeed = 0\n\n // down end\n downControl.addEventListener('end', () => {\n const rotationMatrix2 = new Matrix4()\n const targetQuaternion2 = new Quaternion()\n\n const targetPosition2 = this.inspection.curve.getPointAt((targetProgress + 0.01) % 1)\n\n rotationMatrix2.lookAt(targetPosition2, this.model.position, this.model.up)\n targetQuaternion2.setFromRotationMatrix(rotationMatrix2)\n\n this.startRotate(targetQuaternion2, this.model, () => {\n setTimeout(() => {\n this.cleanTempPathMesh()\n this.isAnimation = false\n this.control.setProgress(targetProgress)\n this.control.continue()\n\n this.compassInfo.verticalSpeed = 0\n this.compassInfo.horizontalSpeed = 10\n }, 500)\n })\n })\n })\n })\n })\n }\n\n setSpeed(speed: number) {\n if (this.control)\n this.control.setSpeed(speed)\n }\n\n stop() {\n if (this.control)\n this.control.stop()\n }\n\n contineMove() {\n if (!this.control)\n throw new Error('control not init')\n\n if (this.contineCount === 0)\n this.takeOffAnimation()\n\n else\n this.control.continue()\n\n this.contineCount++\n\n this.isStartUp = true\n\n utils.emitter.emit('continue', true)\n\n if (this.inspection.minCamera === this.inspection.gobal.scene.camera)\n utils.emitter.emit('play')\n }\n\n /**\n * todo: now temporarily not implemented\n */\n dispose() { }\n}\n\nexport default InspectionObject"],"mappings":"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"}
@@ -1,382 +0,0 @@
1
- function _typeof(o) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (o) { return typeof o; } : function (o) { return o && "function" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? "symbol" : typeof o; }, _typeof(o); }
2
- function _defineProperties(target, props) { for (var i = 0; i < props.length; i++) { var descriptor = props[i]; descriptor.enumerable = descriptor.enumerable || false; descriptor.configurable = true; if ("value" in descriptor) descriptor.writable = true; Object.defineProperty(target, _toPropertyKey(descriptor.key), descriptor); } }
3
- function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
4
- function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
5
- function _inherits(subClass, superClass) { if (typeof superClass !== "function" && superClass !== null) { throw new TypeError("Super expression must either be null or a function"); } subClass.prototype = Object.create(superClass && superClass.prototype, { constructor: { value: subClass, writable: true, configurable: true } }); Object.defineProperty(subClass, "prototype", { writable: false }); if (superClass) _setPrototypeOf(subClass, superClass); }
6
- function _setPrototypeOf(o, p) { _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) { o.__proto__ = p; return o; }; return _setPrototypeOf(o, p); }
7
- function _createSuper(Derived) { var hasNativeReflectConstruct = _isNativeReflectConstruct(); return function _createSuperInternal() { var Super = _getPrototypeOf(Derived), result; if (hasNativeReflectConstruct) { var NewTarget = _getPrototypeOf(this).constructor; result = Reflect.construct(Super, arguments, NewTarget); } else { result = Super.apply(this, arguments); } return _possibleConstructorReturn(this, result); }; }
8
- function _possibleConstructorReturn(self, call) { if (call && (_typeof(call) === "object" || typeof call === "function")) { return call; } else if (call !== void 0) { throw new TypeError("Derived constructors may only return object or undefined"); } return _assertThisInitialized(self); }
9
- function _assertThisInitialized(self) { if (self === void 0) { throw new ReferenceError("this hasn't been initialised - super() hasn't been called"); } return self; }
10
- function _isNativeReflectConstruct() { if (typeof Reflect === "undefined" || !Reflect.construct) return false; if (Reflect.construct.sham) return false; if (typeof Proxy === "function") return true; try { Boolean.prototype.valueOf.call(Reflect.construct(Boolean, [], function () {})); return true; } catch (e) { return false; } }
11
- function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12
- function _defineProperty(obj, key, value) { key = _toPropertyKey(key); if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
13
- function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
14
- function _toPrimitive(t, r) { if ("object" != _typeof(t) || !t) return t; var e = t[Symbol.toPrimitive]; if (void 0 !== e) { var i = e.call(t, r || "default"); if ("object" != _typeof(i)) return i; throw new TypeError("@@toPrimitive must return a primitive value."); } return ("string" === r ? String : Number)(t); }
15
- /* eslint-disable @typescript-eslint/no-this-alias */
16
- /* eslint-disable @typescript-eslint/no-use-before-define */
17
- // @ts-nocheck
18
-
19
- import { EventDispatcher, MOUSE, Object3D, Spherical, TOUCH, Vector2, Vector3 } from '@anov/3d-core';
20
- var _startEvent = {
21
- type: 'start'
22
- };
23
- var _endEvent = {
24
- type: 'end'
25
- };
26
- var defaultFirstPerspectiveControls = /*#__PURE__*/function (_EventDispatcher) {
27
- _inherits(defaultFirstPerspectiveControls, _EventDispatcher);
28
- var _super = _createSuper(defaultFirstPerspectiveControls);
29
- function defaultFirstPerspectiveControls(object, domElement) {
30
- var _this;
31
- _classCallCheck(this, defaultFirstPerspectiveControls);
32
- _this = _super.call(this);
33
- _defineProperty(_assertThisInitialized(_this), "enabled", true);
34
- _this.object = object;
35
- _this.domElement = domElement;
36
- _this.domElement.style.touchAction = 'none'; // disable touch scroll
37
-
38
- // Set to false to disable this control
39
- _this.enabled = true;
40
-
41
- // "target" sets the location of focus, where the object orbits around
42
- _this.target = new Vector3();
43
-
44
- // Sets the 3D cursor (similar to Blender), from which the maxTargetRadius takes effect
45
- _this.cursor = new Vector3();
46
-
47
- // This option actually enables dollying in and out; left as "zoom" for backwards compatibility.
48
- // Set to false to disable zooming
49
- _this.enableZoom = true;
50
- _this.zoomSpeed = 1.0;
51
-
52
- // Set to false to disable rotating
53
- _this.enableRotate = true;
54
- _this.rotateSpeed = 0.5;
55
-
56
- // Set to false to disable panning
57
- _this.enablePan = true;
58
- _this.panSpeed = 1.0;
59
- _this.screenSpacePanning = true; // if false, pan orthogonal to world-space direction camera.up
60
- _this.keyPanSpeed = 7.0; // pixels moved per arrow key push
61
- _this.zoomToCursor = false;
62
-
63
- // Set to true to automatically rotate around the target
64
- // If auto-rotate is enabled, you must call controls.update() in your animation loop
65
- _this.autoRotate = false;
66
- _this.autoRotateSpeed = 2.0; // 30 seconds per orbit when fps is 60
67
-
68
- // The four arrow keys
69
- _this.keys = {
70
- LEFT: 'ArrowLeft',
71
- UP: 'ArrowUp',
72
- RIGHT: 'ArrowRight',
73
- BOTTOM: 'ArrowDown'
74
- };
75
-
76
- // Mouse buttons
77
- _this.mouseButtons = {
78
- LEFT: MOUSE.ROTATE,
79
- MIDDLE: MOUSE.DOLLY,
80
- RIGHT: MOUSE.PAN
81
- };
82
-
83
- // Touch fingers
84
- _this.touches = {
85
- ONE: TOUCH.ROTATE,
86
- TWO: TOUCH.DOLLY_PAN
87
- };
88
-
89
- // for reset
90
- _this.target0 = _this.target.clone();
91
- // this.position0 = this.object.position.clone()
92
- // this.zoom0 = this.object.zoom
93
-
94
- _this._domElementKeyEvents = null;
95
- _this.getPolarAngle = function () {
96
- return spherical.phi;
97
- };
98
- _this.getAzimuthalAngle = function () {
99
- return spherical.theta;
100
- };
101
- _this.getDistance = function () {
102
- // return this.object.position.distanceTo(this.target)
103
- };
104
- _this.saveState = function () {
105
- scope.target0.copy(scope.target);
106
- scope.position0.copy(scope.object.position);
107
- };
108
- _this.reset = function () {};
109
- _this.dispose = function () {
110
- scope.domElement.removeEventListener('contextmenu', onContextMenu);
111
- scope.domElement.removeEventListener('pointerdown', onPointerDown);
112
- scope.domElement.removeEventListener('pointercancel', onPointerUp);
113
- scope.domElement.removeEventListener('pointermove', onPointerMove);
114
- scope.domElement.removeEventListener('pointerup', onPointerUp);
115
- if (scope._domElementKeyEvents !== null) {
116
- scope._domElementKeyEvents.removeEventListener('keydown', onKeyDown);
117
- scope._domElementKeyEvents = null;
118
- }
119
- };
120
- var scope = _assertThisInitialized(_this);
121
- var STATE = {
122
- NONE: -1,
123
- ROTATE: 0,
124
- DOLLY: 1,
125
- PAN: 2,
126
- TOUCH_ROTATE: 3,
127
- TOUCH_PAN: 4,
128
- TOUCH_DOLLY_PAN: 5,
129
- TOUCH_DOLLY_ROTATE: 6
130
- };
131
- var state = STATE.NONE;
132
- var spherical = new Spherical();
133
- var rotateStart = new Vector2();
134
- var rotateEnd = new Vector2();
135
- var rotateDelta = new Vector2();
136
- var panStart = new Vector2();
137
- var dollyStart = new Vector2();
138
- var dollyDirection = new Vector3();
139
- var mouse = new Vector2();
140
- var pointers = [];
141
- var pointerPositions = {};
142
- function updateZoomParameters(x, y) {
143
- if (!scope.zoomToCursor) return;
144
- performCursorZoom = true;
145
- var rect = scope.domElement.getBoundingClientRect();
146
- var dx = x - rect.left;
147
- var dy = y - rect.top;
148
- var w = rect.width;
149
- var h = rect.height;
150
- mouse.x = dx / w * 2 - 1;
151
- mouse.y = -(dy / h) * 2 + 1;
152
- dollyDirection.set(mouse.x, mouse.y, 1).unproject(scope.object).sub(scope.object.position).normalize();
153
- }
154
- function handleMouseDownRotate(event) {
155
- rotateStart.set(event.clientX, event.clientY);
156
- }
157
- function handleMouseDownDolly(event) {
158
- updateZoomParameters(event.clientX, event.clientX);
159
- dollyStart.set(event.clientX, event.clientY);
160
- }
161
- function handleMouseDownPan(event) {
162
- panStart.set(event.clientX, event.clientY);
163
- }
164
- function handleMouseMoveRotate(event) {
165
- rotateEnd.set(event.clientX, event.clientY);
166
- rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed);
167
- var element = scope.domElement;
168
- var rotateLeft = 2 * Math.PI * rotateDelta.x / element.clientHeight;
169
- var rotateTop = 2 * Math.PI * rotateDelta.y / element.clientHeight;
170
- var helper = new Object3D();
171
- function resetZRotation(obj) {
172
- obj.rotation.z = Math.PI;
173
- }
174
- function rotateObject(object, rotateLeft, rotateTop) {
175
- helper.rotation.copy(object.rotation);
176
- resetZRotation(helper);
177
- helper.rotateY(-rotateLeft);
178
- resetZRotation(helper);
179
- helper.rotateX(-rotateTop);
180
- resetZRotation(helper);
181
- object.rotation.copy(helper.rotation);
182
- }
183
- rotateObject(scope.object, rotateLeft, rotateTop);
184
- rotateStart.copy(rotateEnd);
185
- }
186
- function handleTouchStartRotate(event) {
187
- if (pointers.length === 1) {
188
- rotateStart.set(event.pageX, event.pageY);
189
- } else {
190
- var position = getSecondPointerPosition(event);
191
- var x = 0.5 * (event.pageX + position.x);
192
- var y = 0.5 * (event.pageY + position.y);
193
- rotateStart.set(x, y);
194
- }
195
- }
196
- function handleTouchStartPan(event) {
197
- if (pointers.length === 1) {
198
- panStart.set(event.pageX, event.pageY);
199
- } else {
200
- var position = getSecondPointerPosition(event);
201
- var x = 0.5 * (event.pageX + position.x);
202
- var y = 0.5 * (event.pageY + position.y);
203
- panStart.set(x, y);
204
- }
205
- }
206
- function handleTouchStartDolly(event) {
207
- var position = getSecondPointerPosition(event);
208
- var dx = event.pageX - position.x;
209
- var dy = event.pageY - position.y;
210
- var distance = Math.sqrt(dx * dx + dy * dy);
211
- dollyStart.set(0, distance);
212
- }
213
- function handleTouchStartDollyPan(event) {
214
- if (scope.enableZoom) handleTouchStartDolly(event);
215
- if (scope.enablePan) handleTouchStartPan(event);
216
- }
217
- function handleTouchStartDollyRotate(event) {
218
- if (scope.enableZoom) handleTouchStartDolly(event);
219
- if (scope.enableRotate) handleTouchStartRotate(event);
220
- }
221
- function onPointerDown(event) {
222
- if (scope.enabled === false) return;
223
- if (pointers.length === 0) {
224
- scope.domElement.setPointerCapture(event.pointerId);
225
- scope.domElement.addEventListener('pointermove', onPointerMove);
226
- scope.domElement.addEventListener('pointerup', onPointerUp);
227
- }
228
- addPointer(event);
229
- if (event.pointerType === 'touch') onTouchStart(event);else onMouseDown(event);
230
- }
231
- function onPointerMove(event) {
232
- onMouseMove(event);
233
- }
234
- function onPointerUp(event) {
235
- removePointer(event);
236
- if (pointers.length === 0) {
237
- scope.domElement.releasePointerCapture(event.pointerId);
238
- scope.domElement.removeEventListener('pointermove', onPointerMove);
239
- scope.domElement.removeEventListener('pointerup', onPointerUp);
240
- }
241
- scope.dispatchEvent(_endEvent);
242
- state = STATE.NONE;
243
- if (pointers.length === 1) {
244
- var pointerId = pointers[0];
245
- var position = pointerPositions[pointerId];
246
-
247
- // minimal placeholder event - allows state correction on pointer-up
248
- onTouchStart({
249
- pointerId: pointerId,
250
- pageX: position.x,
251
- pageY: position.y
252
- });
253
- }
254
- }
255
- function onMouseDown(event) {
256
- var mouseAction;
257
- switch (event.button) {
258
- case 0:
259
- mouseAction = scope.mouseButtons.LEFT;
260
- break;
261
- case 1:
262
- mouseAction = scope.mouseButtons.MIDDLE;
263
- break;
264
- case 2:
265
- mouseAction = scope.mouseButtons.RIGHT;
266
- break;
267
- default:
268
- mouseAction = -1;
269
- }
270
- switch (mouseAction) {
271
- case MOUSE.DOLLY:
272
- if (scope.enableZoom === false) return;
273
- handleMouseDownDolly(event);
274
- state = STATE.DOLLY;
275
- break;
276
- case MOUSE.ROTATE:
277
- if (event.ctrlKey || event.metaKey || event.shiftKey) {
278
- if (scope.enablePan === false) return;
279
- handleMouseDownPan(event);
280
- state = STATE.PAN;
281
- } else {
282
- if (scope.enableRotate === false) return;
283
- handleMouseDownRotate(event);
284
- state = STATE.ROTATE;
285
- }
286
- break;
287
- case MOUSE.PAN:
288
- if (event.ctrlKey || event.metaKey || event.shiftKey) {
289
- if (scope.enableRotate === false) return;
290
- handleMouseDownRotate(event);
291
- state = STATE.ROTATE;
292
- } else {
293
- if (scope.enablePan === false) return;
294
- handleMouseDownPan(event);
295
- state = STATE.PAN;
296
- }
297
- break;
298
- default:
299
- state = STATE.NONE;
300
- }
301
- if (state !== STATE.NONE) scope.dispatchEvent(_startEvent);
302
- }
303
- function onMouseMove(event) {
304
- handleMouseMoveRotate(event);
305
- }
306
- function onTouchStart(event) {
307
- trackPointer(event);
308
- switch (pointers.length) {
309
- case 1:
310
- switch (scope.touches.ONE) {
311
- case TOUCH.ROTATE:
312
- if (scope.enableRotate === false) return;
313
- handleTouchStartRotate(event);
314
- state = STATE.TOUCH_ROTATE;
315
- break;
316
- case TOUCH.PAN:
317
- if (scope.enablePan === false) return;
318
- handleTouchStartPan(event);
319
- state = STATE.TOUCH_PAN;
320
- break;
321
- default:
322
- state = STATE.NONE;
323
- }
324
- break;
325
- case 2:
326
- switch (scope.touches.TWO) {
327
- case TOUCH.DOLLY_PAN:
328
- if (scope.enableZoom === false && scope.enablePan === false) return;
329
- handleTouchStartDollyPan(event);
330
- state = STATE.TOUCH_DOLLY_PAN;
331
- break;
332
- case TOUCH.DOLLY_ROTATE:
333
- if (scope.enableZoom === false && scope.enableRotate === false) return;
334
- handleTouchStartDollyRotate(event);
335
- state = STATE.TOUCH_DOLLY_ROTATE;
336
- break;
337
- default:
338
- state = STATE.NONE;
339
- }
340
- break;
341
- default:
342
- state = STATE.NONE;
343
- }
344
- if (state !== STATE.NONE) scope.dispatchEvent(_startEvent);
345
- }
346
- function onContextMenu(event) {
347
- if (scope.enabled === false) return;
348
- event.preventDefault();
349
- }
350
- function addPointer(event) {
351
- pointers.push(event.pointerId);
352
- }
353
- function removePointer(event) {
354
- delete pointerPositions[event.pointerId];
355
- for (var i = 0; i < pointers.length; i++) {
356
- if (pointers[i] === event.pointerId) {
357
- pointers.splice(i, 1);
358
- return;
359
- }
360
- }
361
- }
362
- function trackPointer(event) {
363
- var position = pointerPositions[event.pointerId];
364
- if (position === undefined) {
365
- position = new Vector2();
366
- pointerPositions[event.pointerId] = position;
367
- }
368
- position.set(event.pageX, event.pageY);
369
- }
370
- function getSecondPointerPosition(event) {
371
- var pointerId = event.pointerId === pointers[0] ? pointers[1] : pointers[0];
372
- return pointerPositions[pointerId];
373
- }
374
- scope.domElement.addEventListener('contextmenu', onContextMenu);
375
- scope.domElement.addEventListener('pointerdown', onPointerDown);
376
- scope.domElement.addEventListener('pointercancel', onPointerUp);
377
- return _this;
378
- }
379
- return _createClass(defaultFirstPerspectiveControls);
380
- }(EventDispatcher);
381
- export default defaultFirstPerspectiveControls;
382
- //# sourceMappingURL=defaultFirstPerspectiveControls.js.map
@@ -1 +0,0 @@
1
- {"version":3,"names":["EventDispatcher","MOUSE","Object3D","Spherical","TOUCH","Vector2","Vector3","_startEvent","type","_endEvent","defaultFirstPerspectiveControls","_EventDispatcher","_inherits","_super","_createSuper","object","domElement","_this","_classCallCheck","call","_defineProperty","_assertThisInitialized","style","touchAction","enabled","target","cursor","enableZoom","zoomSpeed","enableRotate","rotateSpeed","enablePan","panSpeed","screenSpacePanning","keyPanSpeed","zoomToCursor","autoRotate","autoRotateSpeed","keys","LEFT","UP","RIGHT","BOTTOM","mouseButtons","ROTATE","MIDDLE","DOLLY","PAN","touches","ONE","TWO","DOLLY_PAN","target0","clone","_domElementKeyEvents","getPolarAngle","spherical","phi","getAzimuthalAngle","theta","getDistance","saveState","scope","copy","position0","position","reset","dispose","removeEventListener","onContextMenu","onPointerDown","onPointerUp","onPointerMove","onKeyDown","STATE","NONE","TOUCH_ROTATE","TOUCH_PAN","TOUCH_DOLLY_PAN","TOUCH_DOLLY_ROTATE","state","rotateStart","rotateEnd","rotateDelta","panStart","dollyStart","dollyDirection","mouse","pointers","pointerPositions","updateZoomParameters","x","y","performCursorZoom","rect","getBoundingClientRect","dx","left","dy","top","w","width","h","height","set","unproject","sub","normalize","handleMouseDownRotate","event","clientX","clientY","handleMouseDownDolly","handleMouseDownPan","handleMouseMoveRotate","subVectors","multiplyScalar","element","rotateLeft","Math","PI","clientHeight","rotateTop","helper","resetZRotation","obj","rotation","z","rotateObject","rotateY","rotateX","handleTouchStartRotate","length","pageX","pageY","getSecondPointerPosition","handleTouchStartPan","handleTouchStartDolly","distance","sqrt","handleTouchStartDollyPan","handleTouchStartDollyRotate","setPointerCapture","pointerId","addEventListener","addPointer","pointerType","onTouchStart","onMouseDown","onMouseMove","removePointer","releasePointerCapture","dispatchEvent","mouseAction","button","ctrlKey","metaKey","shiftKey","trackPointer","DOLLY_ROTATE","preventDefault","push","i","splice","undefined","_createClass"],"sources":["../../../../src/factory/unit/inspection/defaultFirstPerspectiveControls.ts"],"sourcesContent":["/* eslint-disable @typescript-eslint/no-this-alias */\n/* eslint-disable @typescript-eslint/no-use-before-define */\n// @ts-nocheck\n\nimport {\n EventDispatcher,\n MOUSE,\n Object3D,\n Spherical,\n TOUCH,\n Vector2,\n Vector3,\n} from '@anov/3d-core'\n\nconst _startEvent = { type: 'start' }\nconst _endEvent = { type: 'end' }\n\nclass defaultFirstPerspectiveControls extends EventDispatcher {\n enabled = true\n constructor(object, domElement) {\n super()\n\n this.object = object\n this.domElement = domElement\n this.domElement.style.touchAction = 'none' // disable touch scroll\n\n // Set to false to disable this control\n this.enabled = true\n\n // \"target\" sets the location of focus, where the object orbits around\n this.target = new Vector3()\n\n // Sets the 3D cursor (similar to Blender), from which the maxTargetRadius takes effect\n this.cursor = new Vector3()\n\n // This option actually enables dollying in and out; left as \"zoom\" for backwards compatibility.\n // Set to false to disable zooming\n this.enableZoom = true\n this.zoomSpeed = 1.0\n\n // Set to false to disable rotating\n this.enableRotate = true\n this.rotateSpeed = 0.5\n\n // Set to false to disable panning\n this.enablePan = true\n this.panSpeed = 1.0\n this.screenSpacePanning = true // if false, pan orthogonal to world-space direction camera.up\n this.keyPanSpeed = 7.0// pixels moved per arrow key push\n this.zoomToCursor = false\n\n // Set to true to automatically rotate around the target\n // If auto-rotate is enabled, you must call controls.update() in your animation loop\n this.autoRotate = false\n this.autoRotateSpeed = 2.0 // 30 seconds per orbit when fps is 60\n\n // The four arrow keys\n this.keys = { LEFT: 'ArrowLeft', UP: 'ArrowUp', RIGHT: 'ArrowRight', BOTTOM: 'ArrowDown' }\n\n // Mouse buttons\n this.mouseButtons = { LEFT: MOUSE.ROTATE, MIDDLE: MOUSE.DOLLY, RIGHT: MOUSE.PAN }\n\n // Touch fingers\n this.touches = { ONE: TOUCH.ROTATE, TWO: TOUCH.DOLLY_PAN }\n\n // for reset\n this.target0 = this.target.clone()\n // this.position0 = this.object.position.clone()\n // this.zoom0 = this.object.zoom\n\n this._domElementKeyEvents = null\n\n this.getPolarAngle = function () {\n return spherical.phi\n }\n\n this.getAzimuthalAngle = function () {\n return spherical.theta\n }\n\n this.getDistance = function () {\n // return this.object.position.distanceTo(this.target)\n }\n\n this.saveState = function () {\n scope.target0.copy(scope.target)\n scope.position0.copy(scope.object.position)\n }\n\n this.reset = function () {}\n\n this.dispose = function () {\n scope.domElement.removeEventListener('contextmenu', onContextMenu)\n\n scope.domElement.removeEventListener('pointerdown', onPointerDown)\n scope.domElement.removeEventListener('pointercancel', onPointerUp)\n\n scope.domElement.removeEventListener('pointermove', onPointerMove)\n scope.domElement.removeEventListener('pointerup', onPointerUp)\n\n if (scope._domElementKeyEvents !== null) {\n scope._domElementKeyEvents.removeEventListener('keydown', onKeyDown)\n scope._domElementKeyEvents = null\n }\n }\n\n const scope = this\n\n const STATE = {\n NONE: -1,\n ROTATE: 0,\n DOLLY: 1,\n PAN: 2,\n TOUCH_ROTATE: 3,\n TOUCH_PAN: 4,\n TOUCH_DOLLY_PAN: 5,\n TOUCH_DOLLY_ROTATE: 6,\n }\n\n let state = STATE.NONE\n\n const spherical = new Spherical()\n const rotateStart = new Vector2()\n const rotateEnd = new Vector2()\n const rotateDelta = new Vector2()\n\n const panStart = new Vector2()\n\n const dollyStart = new Vector2()\n\n const dollyDirection = new Vector3()\n const mouse = new Vector2()\n\n const pointers = []\n const pointerPositions = {}\n\n function updateZoomParameters(x, y) {\n if (!scope.zoomToCursor)\n\n return\n\n performCursorZoom = true\n\n const rect = scope.domElement.getBoundingClientRect()\n const dx = x - rect.left\n const dy = y - rect.top\n const w = rect.width\n const h = rect.height\n\n mouse.x = (dx / w) * 2 - 1\n mouse.y = -(dy / h) * 2 + 1\n\n dollyDirection.set(mouse.x, mouse.y, 1).unproject(scope.object).sub(scope.object.position).normalize()\n }\n\n function handleMouseDownRotate(event) {\n rotateStart.set(event.clientX, event.clientY)\n }\n\n function handleMouseDownDolly(event) {\n updateZoomParameters(event.clientX, event.clientX)\n dollyStart.set(event.clientX, event.clientY)\n }\n\n function handleMouseDownPan(event) {\n panStart.set(event.clientX, event.clientY)\n }\n\n function handleMouseMoveRotate(event) {\n rotateEnd.set(event.clientX, event.clientY)\n\n rotateDelta.subVectors(rotateEnd, rotateStart).multiplyScalar(scope.rotateSpeed)\n\n const element = scope.domElement\n\n const rotateLeft = 2 * Math.PI * rotateDelta.x / element.clientHeight\n const rotateTop = 2 * Math.PI * rotateDelta.y / element.clientHeight\n\n const helper = new Object3D()\n\n function resetZRotation(obj) {\n obj.rotation.z = Math.PI\n }\n\n function rotateObject(object, rotateLeft, rotateTop) {\n helper.rotation.copy(object.rotation)\n\n resetZRotation(helper)\n\n helper.rotateY(-rotateLeft)\n resetZRotation(helper)\n\n helper.rotateX(-rotateTop)\n resetZRotation(helper)\n\n object.rotation.copy(helper.rotation)\n }\n\n rotateObject(scope.object, rotateLeft, rotateTop)\n\n rotateStart.copy(rotateEnd)\n }\n\n function handleTouchStartRotate(event) {\n if (pointers.length === 1) {\n rotateStart.set(event.pageX, event.pageY)\n }\n else {\n const position = getSecondPointerPosition(event)\n\n const x = 0.5 * (event.pageX + position.x)\n const y = 0.5 * (event.pageY + position.y)\n\n rotateStart.set(x, y)\n }\n }\n\n function handleTouchStartPan(event) {\n if (pointers.length === 1) {\n panStart.set(event.pageX, event.pageY)\n }\n else {\n const position = getSecondPointerPosition(event)\n\n const x = 0.5 * (event.pageX + position.x)\n const y = 0.5 * (event.pageY + position.y)\n\n panStart.set(x, y)\n }\n }\n\n function handleTouchStartDolly(event) {\n const position = getSecondPointerPosition(event)\n\n const dx = event.pageX - position.x\n const dy = event.pageY - position.y\n\n const distance = Math.sqrt(dx * dx + dy * dy)\n\n dollyStart.set(0, distance)\n }\n\n function handleTouchStartDollyPan(event) {\n if (scope.enableZoom)\n handleTouchStartDolly(event)\n\n if (scope.enablePan)\n handleTouchStartPan(event)\n }\n\n function handleTouchStartDollyRotate(event) {\n if (scope.enableZoom)\n handleTouchStartDolly(event)\n\n if (scope.enableRotate)\n handleTouchStartRotate(event)\n }\n\n function onPointerDown(event) {\n if (scope.enabled === false)\n return\n\n if (pointers.length === 0) {\n scope.domElement.setPointerCapture(event.pointerId)\n\n scope.domElement.addEventListener('pointermove', onPointerMove)\n scope.domElement.addEventListener('pointerup', onPointerUp)\n }\n\n addPointer(event)\n\n if (event.pointerType === 'touch')\n\n onTouchStart(event)\n\n else\n\n onMouseDown(event)\n }\n\n function onPointerMove(event) {\n onMouseMove(event)\n }\n\n function onPointerUp(event) {\n removePointer(event)\n\n if (pointers.length === 0) {\n scope.domElement.releasePointerCapture(event.pointerId)\n\n scope.domElement.removeEventListener('pointermove', onPointerMove)\n scope.domElement.removeEventListener('pointerup', onPointerUp)\n }\n\n scope.dispatchEvent(_endEvent)\n\n state = STATE.NONE\n\n if (pointers.length === 1) {\n const pointerId = pointers[0]\n const position = pointerPositions[pointerId]\n\n // minimal placeholder event - allows state correction on pointer-up\n onTouchStart({ pointerId, pageX: position.x, pageY: position.y })\n }\n }\n\n function onMouseDown(event) {\n let mouseAction\n\n switch (event.button) {\n case 0:\n\n mouseAction = scope.mouseButtons.LEFT\n break\n\n case 1:\n\n mouseAction = scope.mouseButtons.MIDDLE\n break\n\n case 2:\n\n mouseAction = scope.mouseButtons.RIGHT\n break\n\n default:\n\n mouseAction = -1\n }\n\n switch (mouseAction) {\n case MOUSE.DOLLY:\n\n if (scope.enableZoom === false)\n return\n\n handleMouseDownDolly(event)\n\n state = STATE.DOLLY\n\n break\n\n case MOUSE.ROTATE:\n\n if (event.ctrlKey || event.metaKey || event.shiftKey) {\n if (scope.enablePan === false)\n return\n\n handleMouseDownPan(event)\n\n state = STATE.PAN\n }\n else {\n if (scope.enableRotate === false)\n return\n\n handleMouseDownRotate(event)\n\n state = STATE.ROTATE\n }\n\n break\n\n case MOUSE.PAN:\n\n if (event.ctrlKey || event.metaKey || event.shiftKey) {\n if (scope.enableRotate === false)\n return\n\n handleMouseDownRotate(event)\n\n state = STATE.ROTATE\n }\n else {\n if (scope.enablePan === false)\n return\n\n handleMouseDownPan(event)\n\n state = STATE.PAN\n }\n\n break\n\n default:\n\n state = STATE.NONE\n }\n\n if (state !== STATE.NONE)\n\n scope.dispatchEvent(_startEvent)\n }\n\n function onMouseMove(event) {\n handleMouseMoveRotate(event)\n }\n\n function onTouchStart(event) {\n trackPointer(event)\n\n switch (pointers.length) {\n case 1:\n\n switch (scope.touches.ONE) {\n case TOUCH.ROTATE:\n\n if (scope.enableRotate === false)\n return\n\n handleTouchStartRotate(event)\n\n state = STATE.TOUCH_ROTATE\n\n break\n\n case TOUCH.PAN:\n\n if (scope.enablePan === false)\n return\n\n handleTouchStartPan(event)\n\n state = STATE.TOUCH_PAN\n\n break\n\n default:\n\n state = STATE.NONE\n }\n\n break\n\n case 2:\n\n switch (scope.touches.TWO) {\n case TOUCH.DOLLY_PAN:\n\n if (scope.enableZoom === false && scope.enablePan === false)\n return\n\n handleTouchStartDollyPan(event)\n\n state = STATE.TOUCH_DOLLY_PAN\n\n break\n\n case TOUCH.DOLLY_ROTATE:\n\n if (scope.enableZoom === false && scope.enableRotate === false)\n return\n\n handleTouchStartDollyRotate(event)\n\n state = STATE.TOUCH_DOLLY_ROTATE\n\n break\n\n default:\n\n state = STATE.NONE\n }\n\n break\n\n default:\n\n state = STATE.NONE\n }\n\n if (state !== STATE.NONE)\n\n scope.dispatchEvent(_startEvent)\n }\n\n function onContextMenu(event) {\n if (scope.enabled === false)\n return\n\n event.preventDefault()\n }\n\n function addPointer(event) {\n pointers.push(event.pointerId)\n }\n\n function removePointer(event) {\n delete pointerPositions[event.pointerId]\n\n for (let i = 0; i < pointers.length; i++) {\n if (pointers[i] === event.pointerId) {\n pointers.splice(i, 1)\n return\n }\n }\n }\n\n function trackPointer(event) {\n let position = pointerPositions[event.pointerId]\n\n if (position === undefined) {\n position = new Vector2()\n pointerPositions[event.pointerId] = position\n }\n\n position.set(event.pageX, event.pageY)\n }\n\n function getSecondPointerPosition(event) {\n const pointerId = (event.pointerId === pointers[0]) ? pointers[1] : pointers[0]\n\n return pointerPositions[pointerId]\n }\n\n scope.domElement.addEventListener('contextmenu', onContextMenu)\n scope.domElement.addEventListener('pointerdown', onPointerDown)\n scope.domElement.addEventListener('pointercancel', onPointerUp)\n }\n}\n\nexport default defaultFirstPerspectiveControls\n"],"mappings":"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"}