@anov/3d 0.0.137 → 0.0.139

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 (206) hide show
  1. package/dist/anov3d.js +10 -10
  2. package/dist/anov3d.js.map +1 -1
  3. package/dist/applicationApi.js +17 -9
  4. package/dist/applicationApi.js.map +1 -1
  5. package/dist/factory/3d.js +6 -7
  6. package/dist/factory/3d.js.map +1 -1
  7. package/dist/factory/globalControl.js +3 -3
  8. package/dist/factory/globalControl.js.map +1 -1
  9. package/dist/factory/unit/CameraPoi.js +5 -6
  10. package/dist/factory/unit/CameraPoi.js.map +1 -1
  11. package/dist/factory/unit/areaBoundingBox.js +3 -3
  12. package/dist/factory/unit/areaBoundingBox.js.map +1 -1
  13. package/dist/factory/unit/circle.js +4 -4
  14. package/dist/factory/unit/circle.js.map +1 -1
  15. package/dist/factory/unit/cylinder.js +5 -5
  16. package/dist/factory/unit/cylinder.js.map +1 -1
  17. package/dist/factory/unit/districtLine.js +4 -4
  18. package/dist/factory/unit/districtLine.js.map +1 -1
  19. package/dist/factory/unit/glsl/heat/frag.js.map +1 -1
  20. package/dist/factory/unit/glsl/heat/ver.js.map +1 -1
  21. package/dist/factory/unit/glsl/highway/fragmentShader.js.map +1 -1
  22. package/dist/factory/unit/glsl/highway/fragmentShader2.js.map +1 -1
  23. package/dist/factory/unit/glsl/highway/vertexShader.js.map +1 -1
  24. package/dist/factory/unit/handle.js +3 -3
  25. package/dist/factory/unit/handle.js.map +1 -1
  26. package/dist/factory/unit/index.js +13 -14
  27. package/dist/factory/unit/index.js.map +1 -1
  28. package/dist/factory/unit/inspection/InspectionObject.js +4 -4
  29. package/dist/factory/unit/inspection/InspectionObject.js.map +1 -1
  30. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js +3 -3
  31. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.js.map +1 -1
  32. package/dist/factory/unit/inspection/index.js +6 -8
  33. package/dist/factory/unit/inspection/index.js.map +1 -1
  34. package/dist/factory/unit/inspection/lineData.js.map +1 -1
  35. package/dist/factory/unit/inspection/map.js +3 -3
  36. package/dist/factory/unit/inspection/map.js.map +1 -1
  37. package/dist/factory/unit/inspection/tubeGeometry.js +3 -3
  38. package/dist/factory/unit/inspection/tubeGeometry.js.map +1 -1
  39. package/dist/factory/unit/layer/rise.js.map +1 -1
  40. package/dist/factory/unit/line.js +3 -3
  41. package/dist/factory/unit/line.js.map +1 -1
  42. package/dist/factory/unit/poi.js +5 -5
  43. package/dist/factory/unit/poi.js.map +1 -1
  44. package/dist/factory/unit/region.js +3 -3
  45. package/dist/factory/unit/region.js.map +1 -1
  46. package/dist/factory/unit/slice.js +3 -3
  47. package/dist/factory/unit/slice.js.map +1 -1
  48. package/dist/factory/unit/wall.js +3 -3
  49. package/dist/factory/unit/wall.js.map +1 -1
  50. package/dist/factory/utils/areaBoundingBox.js.map +1 -1
  51. package/dist/factory/utils/constant.js +6 -6
  52. package/dist/factory/utils/constant.js.map +1 -1
  53. package/dist/factory/utils/finirMaterial.js +0 -1
  54. package/dist/factory/utils/finirMaterial.js.map +1 -1
  55. package/dist/factory/utils/fontMesh.js +3 -3
  56. package/dist/factory/utils/fontMesh.js.map +1 -1
  57. package/dist/factory/utils/ground.js.map +1 -1
  58. package/dist/factory/utils/index.js.map +1 -1
  59. package/dist/factory/utils/observe.js +1 -1
  60. package/dist/factory/utils/observe.js.map +1 -1
  61. package/dist/factory/utils/switchMaterial.js.map +1 -1
  62. package/dist/hooksManager.js +1 -1
  63. package/dist/hooksManager.js.map +1 -1
  64. package/dist/index.js.map +1 -1
  65. package/dist/messageStatus.js +3 -3
  66. package/dist/messageStatus.js.map +1 -1
  67. package/dist/module/camera/index.js +3 -3
  68. package/dist/module/camera/index.js.map +1 -1
  69. package/dist/module/develop/index.js +3 -3
  70. package/dist/module/develop/index.js.map +1 -1
  71. package/dist/module/entity/baseEntity.js +146 -0
  72. package/dist/module/entity/baseEntity.js.map +1 -0
  73. package/dist/module/entity/dispose.js.map +1 -1
  74. package/dist/module/entity/hybridList.js +3 -3
  75. package/dist/module/entity/hybridList.js.map +1 -1
  76. package/dist/module/entity/index.js +149 -150
  77. package/dist/module/entity/index.js.map +1 -1
  78. package/dist/module/entity/model/index.js +116 -0
  79. package/dist/module/entity/model/index.js.map +1 -0
  80. package/dist/module/entity/model/load/loadGlb.js +19 -0
  81. package/dist/module/entity/model/load/loadGlb.js.map +1 -0
  82. package/dist/module/entity/model/load.js +47 -0
  83. package/dist/module/entity/model/load.js.map +1 -0
  84. package/dist/module/entity/poi/index.js +22 -43
  85. package/dist/module/entity/poi/index.js.map +1 -1
  86. package/dist/module/entity/poi/style/base.js +104 -0
  87. package/dist/module/entity/poi/style/base.js.map +1 -0
  88. package/dist/module/entity/poi/style/index.js +67 -0
  89. package/dist/module/entity/poi/style/index.js.map +1 -0
  90. package/dist/module/entity/poi/style/title_01.js +62 -0
  91. package/dist/module/entity/poi/style/title_01.js.map +1 -0
  92. package/dist/module/entity/poi/style/title_pin_01.js +68 -0
  93. package/dist/module/entity/poi/style/title_pin_01.js.map +1 -0
  94. package/dist/module/entity/poi/style/title_pin_02.js +70 -0
  95. package/dist/module/entity/poi/style/title_pin_02.js.map +1 -0
  96. package/dist/module/entity/poi/type.js.map +1 -1
  97. package/dist/module/entity/spline/index.js +29 -0
  98. package/dist/module/entity/spline/index.js.map +1 -0
  99. package/dist/module/entity/spline/resource.js +2 -0
  100. package/dist/module/entity/spline/resource.js.map +1 -0
  101. package/dist/module/entity/spline/style/index.js +47 -0
  102. package/dist/module/entity/spline/style/index.js.map +1 -0
  103. package/dist/module/entity/spline/style/line_01.js +67 -0
  104. package/dist/module/entity/spline/style/line_01.js.map +1 -0
  105. package/dist/module/entity/spline/style/line_texture_01.js +85 -0
  106. package/dist/module/entity/spline/style/line_texture_01.js.map +1 -0
  107. package/dist/module/entity/spline/type.js +2 -0
  108. package/dist/module/entity/spline/type.js.map +1 -0
  109. package/dist/module/entity/strategy.js +45 -2
  110. package/dist/module/entity/strategy.js.map +1 -1
  111. package/dist/module/entity/type.js +2 -0
  112. package/dist/module/entity/type.js.map +1 -0
  113. package/dist/module/entity/utils.js +14 -0
  114. package/dist/module/entity/utils.js.map +1 -1
  115. package/dist/module/environment/index.js +6 -6
  116. package/dist/module/environment/index.js.map +1 -1
  117. package/dist/module/environment/season/index.js +6 -8
  118. package/dist/module/environment/season/index.js.map +1 -1
  119. package/dist/module/environment/time/index.js.map +1 -1
  120. package/dist/module/eventBus/index.js +3 -3
  121. package/dist/module/eventBus/index.js.map +1 -1
  122. package/dist/module/model/index.js +6 -6
  123. package/dist/module/model/index.js.map +1 -1
  124. package/dist/module/scene/index.js +3 -3
  125. package/dist/module/scene/index.js.map +1 -1
  126. package/dist/sdkEntry.js +3 -3
  127. package/dist/sdkEntry.js.map +1 -1
  128. package/dist/utils/abstract.js +3 -3
  129. package/dist/utils/abstract.js.map +1 -1
  130. package/dist/utils/index.js +1 -1
  131. package/dist/utils/index.js.map +1 -1
  132. package/dist/utils/messageFn.js +8 -8
  133. package/dist/utils/messageFn.js.map +1 -1
  134. package/package.json +5 -4
  135. package/dist/anov3d.d.ts +0 -27
  136. package/dist/applicationApi.d.ts +0 -68
  137. package/dist/factory/3d.d.ts +0 -72
  138. package/dist/factory/globalControl.d.ts +0 -7
  139. package/dist/factory/globalData.d.ts +0 -1
  140. package/dist/factory/regionData.d.ts +0 -36
  141. package/dist/factory/type.d.ts +0 -10
  142. package/dist/factory/unit/CameraPoi.d.ts +0 -66
  143. package/dist/factory/unit/areaBoundingBox.d.ts +0 -7
  144. package/dist/factory/unit/circle.d.ts +0 -22
  145. package/dist/factory/unit/cylinder.d.ts +0 -24
  146. package/dist/factory/unit/districtLine.d.ts +0 -22
  147. package/dist/factory/unit/glsl/heat/frag.d.ts +0 -2
  148. package/dist/factory/unit/glsl/heat/ver.d.ts +0 -2
  149. package/dist/factory/unit/glsl/highway/fragmentShader.d.ts +0 -2
  150. package/dist/factory/unit/glsl/highway/fragmentShader2.d.ts +0 -2
  151. package/dist/factory/unit/glsl/highway/vertexShader.d.ts +0 -2
  152. package/dist/factory/unit/handle.d.ts +0 -42
  153. package/dist/factory/unit/index.d.ts +0 -9
  154. package/dist/factory/unit/inspection/InspectionObject.d.ts +0 -49
  155. package/dist/factory/unit/inspection/defaultFirstPerspectiveControls.d.ts +0 -6
  156. package/dist/factory/unit/inspection/index.d.ts +0 -52
  157. package/dist/factory/unit/inspection/lineData.d.ts +0 -26
  158. package/dist/factory/unit/inspection/map.d.ts +0 -11
  159. package/dist/factory/unit/inspection/tubeGeometry.d.ts +0 -16
  160. package/dist/factory/unit/layer/rise.d.ts +0 -6
  161. package/dist/factory/unit/line.d.ts +0 -13
  162. package/dist/factory/unit/poi.d.ts +0 -21
  163. package/dist/factory/unit/region.d.ts +0 -12
  164. package/dist/factory/unit/slice.d.ts +0 -12
  165. package/dist/factory/unit/wall.d.ts +0 -16
  166. package/dist/factory/utils/areaBoundingBox.d.ts +0 -14
  167. package/dist/factory/utils/constant.d.ts +0 -12
  168. package/dist/factory/utils/finirMaterial.d.ts +0 -4
  169. package/dist/factory/utils/fontMesh.d.ts +0 -10
  170. package/dist/factory/utils/ground.d.ts +0 -40
  171. package/dist/factory/utils/index.d.ts +0 -2
  172. package/dist/factory/utils/observe.d.ts +0 -3
  173. package/dist/factory/utils/switchMaterial.d.ts +0 -17
  174. package/dist/hooksManager.d.ts +0 -2
  175. package/dist/index.d.ts +0 -18
  176. package/dist/messageStatus.d.ts +0 -52
  177. package/dist/module/camera/index.d.ts +0 -74
  178. package/dist/module/develop/index.d.ts +0 -19
  179. package/dist/module/entity/dispose.d.ts +0 -6
  180. package/dist/module/entity/hybridList.d.ts +0 -11
  181. package/dist/module/entity/index.d.ts +0 -68
  182. package/dist/module/entity/poi/constant.d.ts +0 -48
  183. package/dist/module/entity/poi/constant.js +0 -54
  184. package/dist/module/entity/poi/constant.js.map +0 -1
  185. package/dist/module/entity/poi/index.d.ts +0 -13
  186. package/dist/module/entity/poi/label.d.ts +0 -9
  187. package/dist/module/entity/poi/label.js +0 -46
  188. package/dist/module/entity/poi/label.js.map +0 -1
  189. package/dist/module/entity/poi/resource.d.ts +0 -4
  190. package/dist/module/entity/poi/title.d.ts +0 -77
  191. package/dist/module/entity/poi/title.js +0 -265
  192. package/dist/module/entity/poi/title.js.map +0 -1
  193. package/dist/module/entity/poi/type.d.ts +0 -88
  194. package/dist/module/entity/strategy.d.ts +0 -3
  195. package/dist/module/entity/utils.d.ts +0 -4
  196. package/dist/module/environment/index.d.ts +0 -50
  197. package/dist/module/environment/season/index.d.ts +0 -22
  198. package/dist/module/environment/time/index.d.ts +0 -10
  199. package/dist/module/environment/weather/type.d.ts +0 -15
  200. package/dist/module/eventBus/index.d.ts +0 -27
  201. package/dist/module/model/index.d.ts +0 -15
  202. package/dist/module/scene/index.d.ts +0 -16
  203. package/dist/sdkEntry.d.ts +0 -5
  204. package/dist/utils/abstract.d.ts +0 -6
  205. package/dist/utils/index.d.ts +0 -30
  206. package/dist/utils/messageFn.d.ts +0 -19
@@ -1 +1 @@
1
- {"version":3,"names":["EventDispatcher","MOUSE","Object3D","Spherical","TOUCH","Vector2","Vector3","_startEvent","type","_endEvent","defaultFirstPerspectiveControls","object","domElement","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"],"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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"}
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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"}
@@ -1,10 +1,10 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
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
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
3
  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); } }
4
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
5
  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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
8
  import { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core';
9
9
  import { RoundLineGeometry } from '@anov/3d-ability';
10
10
  import fragmentShader from "../glsl/highway/fragmentShader";
@@ -68,10 +68,8 @@ var Inspection = /*#__PURE__*/function () {
68
68
  value: function createViewElement() {
69
69
  var _app$envServer$scaleR,
70
70
  _window,
71
- _window$app,
72
- _window$app$envServer,
73
71
  _this = this;
74
- var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 ? void 0 : (_window$app = _window.app) === null || _window$app === void 0 ? void 0 : (_window$app$envServer = _window$app.envServer) === null || _window$app$envServer === void 0 ? void 0 : _window$app$envServer.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
72
+ var scale = (_app$envServer$scaleR = (_window = window) === null || _window === void 0 || (_window = _window.app) === null || _window === void 0 || (_window = _window.envServer) === null || _window === void 0 ? void 0 : _window.scaleRatio) !== null && _app$envServer$scaleR !== void 0 ? _app$envServer$scaleR : 1;
75
73
  var _storeManagement$get$ = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
76
74
  left = _storeManagement$get$.left,
77
75
  top = _storeManagement$get$.top;
@@ -87,8 +85,8 @@ var Inspection = /*#__PURE__*/function () {
87
85
  });
88
86
  var handleObserve = function handleObserve() {
89
87
  setTimeout(function () {
90
- var _app$envServer$scaleR2, _window2, _window2$app, _window2$app$envServe;
91
- var scale = (_app$envServer$scaleR2 = (_window2 = window) === null || _window2 === void 0 ? void 0 : (_window2$app = _window2.app) === null || _window2$app === void 0 ? void 0 : (_window2$app$envServe = _window2$app.envServer) === null || _window2$app$envServe === void 0 ? void 0 : _window2$app$envServe.scaleRatio) !== null && _app$envServer$scaleR2 !== void 0 ? _app$envServer$scaleR2 : 1;
88
+ var _app$envServer$scaleR2, _window2;
89
+ var scale = (_app$envServer$scaleR2 = (_window2 = window) === null || _window2 === void 0 || (_window2 = _window2.app) === null || _window2 === void 0 || (_window2 = _window2.envServer) === null || _window2 === void 0 ? void 0 : _window2.scaleRatio) !== null && _app$envServer$scaleR2 !== void 0 ? _app$envServer$scaleR2 : 1;
92
90
  var _storeManagement$get$2 = storeManagement.get('container').querySelector('canvas').getBoundingClientRect(),
93
91
  left = _storeManagement$get$2.left,
94
92
  top = _storeManagement$get$2.top;
@@ -1 +1 @@
1
- {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","scale","window","app","envServer","scaleRatio","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","cursor","addEventListener","toggleView","handleObserve","setTimeout","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","activeColor","activeSideColor","mesh2","mapMaterial","depthTest","depthWrite","u_color","u_active_color","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","anchorGroup","Object","keys","forEach","key","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","k","s","camera","lookAt","mapCamera","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","setMapView","getLength","startMove","targetProgress","targetPosition","gotoTarget","isHide","body","appendChild","cutout","visible","model","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 430,\n height: 210,\n top: 170,\n left: 90,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\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 else {\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 }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n // const demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color('#f3b360'),\n },\n sideColor: {\n value: new Color('yellow'),\n },\n otherColor: {\n value: new Color('#f3b360'),\n },\n activeColor: {\n value: new Color('#ffea71'),\n },\n activeSideColor: {\n value: new Color('#feffe0'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n u_color: {\n value: new Color('#f3b360'),\n },\n u_active_color: {\n value: new Color('#ffea71'),\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(60,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
1
+ {"version":3,"names":["Color","CylinderGeometry","Group","Mesh","MeshBasicMaterial","OrthographicCamera","PerspectiveCamera","ShaderMaterial","TubeGeometry","Vector4","use","utils","RoundLineGeometry","fragmentShader","vertexShader","fragmentShader2","observe","flyLinePoints","groundLinePoints","targetProgresspoints","InspectionObject","DefaultFirstPerspectiveControls","storeManagement","viewInfoPro","width","height","top","left","viewInfoDev","viewInfo","Inspection","gobal","_classCallCheck","_defineProperty","Map","generateInspectionPath","makeGroundRoad","setInspectionCamera","inspectionObject","startInspection","curve","hide","createViewElement","onHandleToggleView","_createClass","key","value","_app$envServer$scaleR","_window","_this","scale","window","app","envServer","scaleRatio","_storeManagement$get$","get","querySelector","getBoundingClientRect","viewElement","document","createElement","style","position","concat","cursor","addEventListener","toggleView","handleObserve","setTimeout","_app$envServer$scaleR2","_window2","_storeManagement$get$2","flyLine","radius","close","defaultFirstPerspectiveControls","minCamera","scene","renderer","domElement","enabled","emitter","on","type","setSelectedAnchorObject","params","target","highlight","currentAnchor","anchorObject","traverse","child","name","material","color","groundLine","tube","groundMaterial","transparent","uniforms","u_time","alpha","centerColor","sideColor","otherColor","activeColor","activeSideColor","mesh2","mapMaterial","depthTest","depthWrite","u_color","u_active_color","mesh3","layers","set","groundGroup","add","y","groundCurve","line","anchorMesh","setMapViewAnchorPoint","_this2","anchorGroup","Object","keys","forEach","demoPoints","getPointAt","Number","singleAnchorGroup","cylinder","cylinder1","x","z","setMapView","k","s","camera","lookAt","mapCamera","_this3","mapViewAnchorPoint","uColor","mapAnchorObject","innerWidth","innerHeight","cutoutCamera","cutoutArea","getLength","startMove","goToInspectionTarget","targetProgress","targetPosition","gotoTarget","show","isHide","body","appendChild","cutout","visible","model","_this4","contains","removeChild","cutMain","check","useframe"],"sources":["../../../../src/factory/unit/inspection/index.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, CylinderGeometry, Group, Mesh, MeshBasicMaterial, NormalBlending, OrthographicCamera, PerspectiveCamera, ShaderMaterial, TubeGeometry, Vector4, use, utils } from '@anov/3d-core'\nimport { RoundLineGeometry } from '@anov/3d-ability'\nimport type Factory3D from '../../3d'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport fragmentShader2 from '../glsl/highway/fragmentShader2'\nimport { observe } from '../../utils/observe'\nimport { flyLinePoints, groundLinePoints, targetProgresspoints } from './lineData'\nimport InspectionObject from './InspectionObject'\nimport DefaultFirstPerspectiveControls from './defaultFirstPerspectiveControls'\n\nconst { storeManagement } = utils\n\nconst viewInfoPro = {\n width: 430,\n height: 210,\n top: 170,\n left: 90,\n}\n\nconst viewInfoDev = {\n width: 300,\n height: 200,\n top: 50,\n left: 0,\n}\n\nconst viewInfo = process.env.ENV === 'dev' ? viewInfoDev : viewInfoPro\n\nclass Inspection {\n gobal: Factory3D\n inspectionObject\n curve\n groundCurve\n line: Group\n viewElement: HTMLDivElement\n isHide = true\n anchorObject: Map<string, Group> = new Map()\n mapAnchorObject: Map<string, Mesh> = new Map()\n anchorGroup: Group\n mapAnchorGroup: Group\n minCamera: PerspectiveCamera\n InspectionPathObject: Object3D\n groundMaterial\n mapMaterial: any\n map\n mapCamera\n defaultFirstPerspectiveControls\n\n constructor(gobal: Factory3D) {\n this.gobal = gobal\n this.generateInspectionPath()\n this.makeGroundRoad()\n this.setInspectionCamera()\n\n this.inspectionObject = new InspectionObject(this)\n\n this.startInspection(this.curve)\n this.hide()\n this.createViewElement()\n this.onHandleToggleView()\n }\n\n /**\n * create view element, use to switch view [like a button]\n */\n private createViewElement() {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n const viewElement = document.createElement('div')\n viewElement.style.position = 'absolute'\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.cursor = 'pointer'\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n\n viewElement.addEventListener('click', () => {\n this.gobal.toggleView()\n })\n\n const handleObserve = () => {\n setTimeout(() => {\n const scale = (window as any)?.app?.envServer?.scaleRatio ?? 1\n const { left, top } = storeManagement.get<HTMLElement>('container').querySelector('canvas').getBoundingClientRect()\n\n viewElement.style.width = `${viewInfo.width * scale}px`\n viewElement.style.height = `${viewInfo.height * scale}px`\n viewElement.style.top = `${(viewInfo.top) * scale + top}px`\n viewElement.style.left = `${(viewInfo.left) * scale + left}px`\n }, 500)\n }\n\n document.querySelector('.cml-panel-container') && observe(document.querySelector('.cml-panel-container'), () => {\n handleObserve()\n })\n\n this.viewElement = viewElement\n }\n\n /**\n * generate inspection path\n * @param linePosition\n */\n private generateInspectionPath() {\n const flyLine = new RoundLineGeometry(flyLinePoints, {\n radius: 20,\n close: true,\n })\n\n this.curve = flyLine.curve\n }\n\n private onHandleToggleView() {\n const defaultFirstPerspectiveControls = new DefaultFirstPerspectiveControls(\n this.minCamera,\n this.gobal.scene.renderer.domElement,\n )\n\n this.defaultFirstPerspectiveControls = defaultFirstPerspectiveControls\n\n defaultFirstPerspectiveControls.enabled = false\n\n utils.emitter.on('toggleView', (type: 'Drone' | 'Global') => {\n if (type === 'Drone')\n defaultFirstPerspectiveControls.enabled = true\n\n else\n defaultFirstPerspectiveControls.enabled = false\n })\n }\n\n setSelectedAnchorObject(params: { target: string; highlight: boolean }) {\n const { target, highlight } = params\n const currentAnchor = this.anchorObject.get(target) as any\n\n if (!currentAnchor)\n return\n\n if (highlight) {\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 else {\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 }\n\n /**\n * make ground road\n */\n private makeGroundRoad() {\n const groundLine = new RoundLineGeometry(groundLinePoints, {\n radius: 20,\n close: true,\n })\n\n // const demo = []\n // for (let i = 0; i < 1000; i++) {\n // demo.push({\n // x: groundLine.curve.getPointAt(i / 1000).x,\n // y: groundLine.curve.getPointAt(i / 1000).y,\n // z: groundLine.curve.getPointAt(i / 1000).z,\n // })\n // }\n\n // console.log(JSON.stringify(demo, null, 2))\n\n const tube = new TubeGeometry(groundLine.curve, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color('#f3b360'),\n },\n sideColor: {\n value: new Color('yellow'),\n },\n otherColor: {\n value: new Color('#f3b360'),\n },\n activeColor: {\n value: new Color('#ffea71'),\n },\n activeSideColor: {\n value: new Color('#feffe0'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const mesh2 = new Mesh(tube, groundMaterial)\n\n const mapMaterial = new ShaderMaterial({\n transparent: true,\n depthTest: true,\n depthWrite: false,\n uniforms: {\n u_time: {\n value: 0,\n },\n u_color: {\n value: new Color('#f3b360'),\n },\n u_active_color: {\n value: new Color('#ffea71'),\n },\n },\n vertexShader,\n fragmentShader: fragmentShader2,\n })\n\n const mesh3 = new Mesh(tube, mapMaterial)\n\n mesh3.layers.set(5)\n\n const groundGroup = new Group()\n\n groundGroup.add(mesh3)\n groundGroup.add(mesh2)\n groundGroup.position.y = 3\n\n this.groundCurve = groundLine.curve\n\n this.line = groundGroup\n this.gobal.scene.add(groundGroup)\n\n this.groundMaterial = groundMaterial\n this.mapMaterial = mapMaterial\n\n this.anchorMesh()\n this.setMapViewAnchorPoint()\n }\n\n private anchorMesh() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const singleAnchorGroup = new Group()\n\n const cylinder = new Mesh(new CylinderGeometry(10, 10, 2, 64), new MeshBasicMaterial({ color: new Color('#cdccca') }))\n const cylinder1 = new Mesh(new CylinderGeometry(5, 5, 1, 64), new MeshBasicMaterial({ color: new Color('#fff') }))\n cylinder1.position.y = 2\n\n cylinder.name = 'cylinder'\n cylinder1.name = 'cylinder1'\n\n singleAnchorGroup.add(cylinder, cylinder1)\n singleAnchorGroup.position.set(demoPoints.x, demoPoints.y + 5, demoPoints.z)\n\n this.anchorObject.set(targetProgresspoints[key].name, singleAnchorGroup)\n anchorGroup.add(singleAnchorGroup)\n })\n this.anchorGroup = anchorGroup\n this.gobal.scene.add(anchorGroup)\n }\n\n private setMapView() {\n const width = 1470\n const height = 800\n const k = width / height\n const s = 273\n\n const camera = new OrthographicCamera(-s * k + 5, s * k, s - 35, -s + 40, 1, 1000)\n\n camera.position.set(0, 400, 0)\n camera.lookAt(0, 0, 0)\n\n camera.layers.set(5)\n\n this.gobal.scene.add(camera)\n\n this.mapCamera = camera\n }\n\n private setMapViewAnchorPoint() {\n const anchorGroup = new Group()\n\n Object.keys(targetProgresspoints).forEach((key) => {\n const demoPoints = this.groundCurve.getPointAt(Number(key))\n const mapViewAnchorPoint = new Mesh(new CylinderGeometry(20, 20, 2, 64),\n new ShaderMaterial({\n uniforms: {\n uColor: {\n value: new Vector4(1, 1, 1, 1),\n },\n },\n vertexShader: /* glsl */ `\n varying vec2 vUv;\n void main(){\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */ `\n uniform vec4 uColor;\n varying vec2 vUv;\n void main(){\n vec2 center = vec2(0.47, 0.47);\n float radius = 0.4;\n float border = 0.05;\n float dist = distance(vUv, center);\n\n if (dist < radius - border) {\n gl_FragColor = uColor;\n } else if (dist < radius + border) {\n gl_FragColor = vec4(0.6, 0.6, 0.6, 1.0); \n } else {\n gl_FragColor = vec4(.7, .7, .7, 1.0); \n }\n }\n `,\n depthTest: true,\n depthWrite: false,\n transparent: true,\n }))\n\n mapViewAnchorPoint.layers.set(5)\n mapViewAnchorPoint.position.set(demoPoints.x, demoPoints.y + 30, demoPoints.z)\n mapViewAnchorPoint.scale.set(1.3, 1, 1)\n\n anchorGroup.add(mapViewAnchorPoint)\n this.mapAnchorObject.set(key, mapViewAnchorPoint)\n })\n\n this.gobal.scene.add(anchorGroup)\n }\n\n private setInspectionCamera() {\n let minCamera\n\n if (this.minCamera) {\n minCamera = this.minCamera\n }\n else {\n minCamera = new PerspectiveCamera(60,\n window.innerWidth / window.innerHeight\n , 0.1, 1000)\n }\n\n this.gobal.scene.cutoutCamera = minCamera\n\n this.gobal.scene.cutoutArea = { x: viewInfo.left, y: viewInfo.top, width: viewInfo.width, height: viewInfo.height }\n this.gobal.scene.add(minCamera)\n\n this.minCamera = minCamera\n this.minCamera.layers.set(0)\n\n this.setMapView()\n }\n\n get getPathLength() {\n return this.curve.getLength()\n }\n\n startInspection(line) {\n this.setInspectionCamera()\n this.inspectionObject.startMove(line)\n }\n\n goToInspectionTarget(targetProgress: number) {\n const targetPosition = this.curve.getPointAt(targetProgress)\n this.inspectionObject.gotoTarget(targetPosition, targetProgress)\n }\n\n show() {\n this.isHide = false\n\n document.body.appendChild(this.viewElement)\n this.gobal.scene.cutout = true\n this.anchorGroup.visible = true\n this.line.visible = true\n this.inspectionObject.model && (this.inspectionObject.model.visible = true)\n }\n\n hide() {\n this.isHide = true\n\n if (this.viewElement && document.body.contains(this.viewElement))\n document.body.removeChild(this.viewElement)\n\n if (this.gobal.scene.camera === this.minCamera) {\n this.gobal.scene.camera = this.gobal.scene.cutoutCamera\n this.gobal.scene.cutoutCamera = this.minCamera\n }\n\n this.gobal.scene.cutout = false\n this.gobal.scene.cutMain(this.gobal.scene.renderer)\n this.line.visible = false\n this.anchorGroup.visible = false\n\n // this.addeHighSelected([])\n const check = use.useframe(() => {\n if (this.inspectionObject.model) {\n this.inspectionObject.model.visible = false\n check()\n }\n })\n }\n}\n\nexport default Inspection"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["Vector3","flyLinePoints","map","v","groundLinePoints","targetProgresspoints","lookAt","name","isCheck","currentProgress","progress","Object","keys","some","p","num","parseFloat"],"sources":["../../../../src/factory/unit/inspection/lineData.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const flyLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], 40, v[2]))\n\nexport const groundLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], v[1], v[2]))\n\n// 0.048\n// 0.155\n// 0.247\n// 0.400\n// 0.682\n\nexport const targetProgresspoints = {\n 0.048: {\n lookAt: 'GY_ccg_chucunguan_02',\n name: 'HF',\n },\n 0.155: {\n lookAt: 'GY_jx_daxingshebei_7',\n name: 'HPU',\n },\n 0.247: {\n lookAt: 'GY_GD_guandaofamen_5',\n name: 'LLCV',\n },\n 0.400: {\n lookAt: 'GY_jx_daxingshebei_3',\n name: 'CMP1',\n },\n 0.682: {\n lookAt: 'GY_jx_daxingshebei_8',\n name: 'CMP2',\n },\n}\n\nexport const isCheck = (currentProgress) => {\n const progress = Object.keys(targetProgresspoints)\n\n return progress.some((p) => {\n const num = parseFloat(p)\n return currentProgress >= num && currentProgress < num + 0.001\n })\n}"],"mappings":"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"}
1
+ {"version":3,"names":["Vector3","flyLinePoints","map","v","groundLinePoints","targetProgresspoints","lookAt","name","isCheck","currentProgress","progress","Object","keys","some","p","num","parseFloat"],"sources":["../../../../src/factory/unit/inspection/lineData.ts"],"sourcesContent":["import { Vector3 } from '@anov/3d-core'\n\nexport const flyLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], 40, v[2]))\n\nexport const groundLinePoints = [\n [-491.52, -1.22, -52.05],\n [-143.69, -3.00, -52.05],\n [-143.69, -0.00, 121.29],\n [-319.85, 0.00, 121.29],\n [-319.85, -0.00, 224.78],\n [125.73, -0.84, 224.78],\n [125.73, 0.00, 39.61],\n [323.44, -0.00, 39.61],\n [323.44, 0.00, -48.50],\n [27.52, 3.00, -48.50],\n [22.62, -0.00, -220.87],\n [-491.52, -0.53, -220.87],\n].map(v => new Vector3(v[0], v[1], v[2]))\n\n// 0.048\n// 0.155\n// 0.247\n// 0.400\n// 0.682\n\nexport const targetProgresspoints = {\n 0.048: {\n lookAt: 'GY_ccg_chucunguan_02',\n name: 'HF',\n },\n 0.155: {\n lookAt: 'GY_jx_daxingshebei_7',\n name: 'HPU',\n },\n 0.247: {\n lookAt: 'GY_GD_guandaofamen_5',\n name: 'LLCV',\n },\n 0.400: {\n lookAt: 'GY_jx_daxingshebei_3',\n name: 'CMP1',\n },\n 0.682: {\n lookAt: 'GY_jx_daxingshebei_8',\n name: 'CMP2',\n },\n}\n\nexport const isCheck = (currentProgress) => {\n const progress = Object.keys(targetProgresspoints)\n\n return progress.some((p) => {\n const num = parseFloat(p)\n return currentProgress >= num && currentProgress < num + 0.001\n })\n}"],"mappings":"AAAA,SAASA,OAAO,QAAQ,eAAe;AAEvC,OAAO,IAAMC,aAAa,GAAG,CAC3B,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EACrB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EACtB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACtB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACrB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAC1B,CAACC,GAAG,CAAC,UAAAC,CAAC;EAAA,OAAI,IAAIH,OAAO,CAACG,CAAC,CAAC,CAAC,CAAC,EAAE,EAAE,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAC;AAEvC,OAAO,IAAMC,gBAAgB,GAAG,CAC9B,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,CAAC,MAAM,EAAE,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACxB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EACvB,CAAC,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,EACrB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,KAAK,CAAC,EACtB,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACtB,CAAC,KAAK,EAAE,IAAI,EAAE,CAAC,KAAK,CAAC,EACrB,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,EACvB,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,CAAC,CAC1B,CAACF,GAAG,CAAC,UAAAC,CAAC;EAAA,OAAI,IAAIH,OAAO,CAACG,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,EAAEA,CAAC,CAAC,CAAC,CAAC,CAAC;AAAA,EAAC;;AAEzC;AACA;AACA;AACA;AACA;;AAEA,OAAO,IAAME,oBAAoB,GAAG;EAClC,KAAK,EAAE;IACLC,MAAM,EAAE,sBAAsB;IAC9BC,IAAI,EAAE;EACR,CAAC;EACD,KAAK,EAAE;IACLD,MAAM,EAAE,sBAAsB;IAC9BC,IAAI,EAAE;EACR,CAAC;EACD,KAAK,EAAE;IACLD,MAAM,EAAE,sBAAsB;IAC9BC,IAAI,EAAE;EACR,CAAC;EACD,KAAK,EAAE;IACLD,MAAM,EAAE,sBAAsB;IAC9BC,IAAI,EAAE;EACR,CAAC;EACD,KAAK,EAAE;IACLD,MAAM,EAAE,sBAAsB;IAC9BC,IAAI,EAAE;EACR;AACF,CAAC;AAED,OAAO,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAIC,eAAe,EAAK;EAC1C,IAAMC,QAAQ,GAAGC,MAAM,CAACC,IAAI,CAACP,oBAAoB,CAAC;EAElD,OAAOK,QAAQ,CAACG,IAAI,CAAC,UAACC,CAAC,EAAK;IAC1B,IAAMC,GAAG,GAAGC,UAAU,CAACF,CAAC,CAAC;IACzB,OAAOL,eAAe,IAAIM,GAAG,IAAIN,eAAe,GAAGM,GAAG,GAAG,KAAK;EAChE,CAAC,CAAC;AACJ,CAAC"}
@@ -1,10 +1,10 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
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
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
3
  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); } }
4
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
5
  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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
8
  import { Color, Group, Mesh, MeshBasicMaterial, PlaneGeometry, ShaderMaterial, TubeGeometry } from '@anov/3d-core';
9
9
  import fragmentShader from "../glsl/highway/fragmentShader";
10
10
  import vertexShader from "../glsl/highway/vertexShader";
@@ -1 +1 @@
1
- {"version":3,"names":["Color","Group","Mesh","MeshBasicMaterial","PlaneGeometry","ShaderMaterial","TubeGeometry","fragmentShader","vertexShader","InspectionMap","inspection","line","generateMapPlane","tube","groundMaterial","transparent","uniforms","u_time","value","alpha","centerColor","sideColor","otherColor","path","map","add","traverse","child","console","log","layers","set","gobal","scene","mapPlane","color"],"sources":["../../../../src/factory/unit/inspection/map.ts"],"sourcesContent":["import { Color, type Curve, Group, Mesh, MeshBasicMaterial, PlaneGeometry, ShaderMaterial, TubeGeometry, type Vector3 } from '@anov/3d-core'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport type Inspection from './'\n\nclass InspectionMap {\n map: Group = new Group()\n inspection: Inspection\n groundMaterial: ShaderMaterial\n\n constructor(inspection) {\n this.inspection = inspection\n }\n\n generate(line: Curve<Vector3>) {\n this.generateMapPlane()\n\n const tube = new TubeGeometry(line, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const path = new Mesh(tube, groundMaterial)\n\n this.map.add(path)\n this.groundMaterial = groundMaterial\n\n this.map.traverse((child) => {\n console.log(child)\n child.layers.set(5)\n })\n this.inspection.gobal.scene.add(this.map)\n }\n\n private generateMapPlane() {\n const mapPlane = new Mesh(new PlaneGeometry(2000, 1500), new MeshBasicMaterial({ color: new Color('red') }))\n this.map.add(mapPlane)\n }\n}\n\nexport default InspectionMap"],"mappings":";;;;;;;AAAA,SAASA,KAAK,EAAcC,KAAK,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,cAAc,EAAEC,YAAY,QAAsB,eAAe;AAC5I,OAAOC,cAAc;AACrB,OAAOC,YAAY;AAAoC,IAGjDC,aAAa;EAKjB,uBAAYC,UAAU,EAAE;IAAA;IAAA,6BAJX,IAAIT,KAAK,EAAE;IAAA;IAAA;IAKtB,IAAI,CAACS,UAAU,GAAGA,UAAU;EAC9B;EAAC;IAAA;IAAA,OAED,kBAASC,IAAoB,EAAE;MAC7B,IAAI,CAACC,gBAAgB,EAAE;MAEvB,IAAMC,IAAI,GAAG,IAAIP,YAAY,CAACK,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;MACvD,IAAMG,cAAc,GAAG,IAAIT,cAAc,CAAC;QACxCU,WAAW,EAAE,IAAI;QACjBC,QAAQ,EAAE;UACRC,MAAM,EAAE;YACNC,KAAK,EAAE;UACT,CAAC;UACDC,KAAK,EAAE;YACLD,KAAK,EAAE;UACT,CAAC;UACDE,WAAW,EAAE;YACXF,KAAK,EAAE,IAAIlB,KAAK,CAAC,QAAQ;UAC3B,CAAC;UACDqB,SAAS,EAAE;YACTH,KAAK,EAAE,IAAIlB,KAAK,CAAC,SAAS;UAC5B,CAAC;UACDsB,UAAU,EAAE;YACVJ,KAAK,EAAE,IAAIlB,KAAK,CAAC,SAAS;UAC5B;QACF,CAAC;QACDQ,YAAY,EAAZA,YAAY;QACZD,cAAc,EAAdA;MACF,CAAC,CAAC;MACF,IAAMgB,IAAI,GAAG,IAAIrB,IAAI,CAACW,IAAI,EAAEC,cAAc,CAAC;MAE3C,IAAI,CAACU,GAAG,CAACC,GAAG,CAACF,IAAI,CAAC;MAClB,IAAI,CAACT,cAAc,GAAGA,cAAc;MAEpC,IAAI,CAACU,GAAG,CAACE,QAAQ,CAAC,UAACC,KAAK,EAAK;QAC3BC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;QAClBA,KAAK,CAACG,MAAM,CAACC,GAAG,CAAC,CAAC,CAAC;MACrB,CAAC,CAAC;MACF,IAAI,CAACrB,UAAU,CAACsB,KAAK,CAACC,KAAK,CAACR,GAAG,CAAC,IAAI,CAACD,GAAG,CAAC;IAC3C;EAAC;IAAA;IAAA,OAED,4BAA2B;MACzB,IAAMU,QAAQ,GAAG,IAAIhC,IAAI,CAAC,IAAIE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAID,iBAAiB,CAAC;QAAEgC,KAAK,EAAE,IAAInC,KAAK,CAAC,KAAK;MAAE,CAAC,CAAC,CAAC;MAC5G,IAAI,CAACwB,GAAG,CAACC,GAAG,CAACS,QAAQ,CAAC;IACxB;EAAC;EAAA;AAAA;AAGH,eAAezB,aAAa"}
1
+ {"version":3,"names":["Color","Group","Mesh","MeshBasicMaterial","PlaneGeometry","ShaderMaterial","TubeGeometry","fragmentShader","vertexShader","InspectionMap","inspection","_classCallCheck","_defineProperty","_createClass","key","value","generate","line","generateMapPlane","tube","groundMaterial","transparent","uniforms","u_time","alpha","centerColor","sideColor","otherColor","path","map","add","traverse","child","console","log","layers","set","gobal","scene","mapPlane","color"],"sources":["../../../../src/factory/unit/inspection/map.ts"],"sourcesContent":["import { Color, type Curve, Group, Mesh, MeshBasicMaterial, PlaneGeometry, ShaderMaterial, TubeGeometry, type Vector3 } from '@anov/3d-core'\nimport fragmentShader from '../glsl/highway/fragmentShader'\nimport vertexShader from '../glsl/highway/vertexShader'\nimport type Inspection from './'\n\nclass InspectionMap {\n map: Group = new Group()\n inspection: Inspection\n groundMaterial: ShaderMaterial\n\n constructor(inspection) {\n this.inspection = inspection\n }\n\n generate(line: Curve<Vector3>) {\n this.generateMapPlane()\n\n const tube = new TubeGeometry(line, 10000, 4, 2, false)\n const groundMaterial = new ShaderMaterial({\n transparent: true,\n uniforms: {\n u_time: {\n value: 0,\n },\n alpha: {\n value: 0.6,\n },\n centerColor: {\n value: new Color(0xFFFFFF),\n },\n sideColor: {\n value: new Color('#F75332'),\n },\n otherColor: {\n value: new Color('#D23F22'),\n },\n },\n vertexShader,\n fragmentShader,\n })\n const path = new Mesh(tube, groundMaterial)\n\n this.map.add(path)\n this.groundMaterial = groundMaterial\n\n this.map.traverse((child) => {\n console.log(child)\n child.layers.set(5)\n })\n this.inspection.gobal.scene.add(this.map)\n }\n\n private generateMapPlane() {\n const mapPlane = new Mesh(new PlaneGeometry(2000, 1500), new MeshBasicMaterial({ color: new Color('red') }))\n this.map.add(mapPlane)\n }\n}\n\nexport default InspectionMap"],"mappings":";;;;;;;AAAA,SAASA,KAAK,EAAcC,KAAK,EAAEC,IAAI,EAAEC,iBAAiB,EAAEC,aAAa,EAAEC,cAAc,EAAEC,YAAY,QAAsB,eAAe;AAC5I,OAAOC,cAAc;AACrB,OAAOC,YAAY;AAAoC,IAGjDC,aAAa;EAKjB,SAAAA,cAAYC,UAAU,EAAE;IAAAC,eAAA,OAAAF,aAAA;IAAAG,eAAA,cAJX,IAAIX,KAAK,CAAC,CAAC;IAAAW,eAAA;IAAAA,eAAA;IAKtB,IAAI,CAACF,UAAU,GAAGA,UAAU;EAC9B;EAACG,YAAA,CAAAJ,aAAA;IAAAK,GAAA;IAAAC,KAAA,EAED,SAAAC,SAASC,IAAoB,EAAE;MAC7B,IAAI,CAACC,gBAAgB,CAAC,CAAC;MAEvB,IAAMC,IAAI,GAAG,IAAIb,YAAY,CAACW,IAAI,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,EAAE,KAAK,CAAC;MACvD,IAAMG,cAAc,GAAG,IAAIf,cAAc,CAAC;QACxCgB,WAAW,EAAE,IAAI;QACjBC,QAAQ,EAAE;UACRC,MAAM,EAAE;YACNR,KAAK,EAAE;UACT,CAAC;UACDS,KAAK,EAAE;YACLT,KAAK,EAAE;UACT,CAAC;UACDU,WAAW,EAAE;YACXV,KAAK,EAAE,IAAIf,KAAK,CAAC,QAAQ;UAC3B,CAAC;UACD0B,SAAS,EAAE;YACTX,KAAK,EAAE,IAAIf,KAAK,CAAC,SAAS;UAC5B,CAAC;UACD2B,UAAU,EAAE;YACVZ,KAAK,EAAE,IAAIf,KAAK,CAAC,SAAS;UAC5B;QACF,CAAC;QACDQ,YAAY,EAAZA,YAAY;QACZD,cAAc,EAAdA;MACF,CAAC,CAAC;MACF,IAAMqB,IAAI,GAAG,IAAI1B,IAAI,CAACiB,IAAI,EAAEC,cAAc,CAAC;MAE3C,IAAI,CAACS,GAAG,CAACC,GAAG,CAACF,IAAI,CAAC;MAClB,IAAI,CAACR,cAAc,GAAGA,cAAc;MAEpC,IAAI,CAACS,GAAG,CAACE,QAAQ,CAAC,UAACC,KAAK,EAAK;QAC3BC,OAAO,CAACC,GAAG,CAACF,KAAK,CAAC;QAClBA,KAAK,CAACG,MAAM,CAACC,GAAG,CAAC,CAAC,CAAC;MACrB,CAAC,CAAC;MACF,IAAI,CAAC1B,UAAU,CAAC2B,KAAK,CAACC,KAAK,CAACR,GAAG,CAAC,IAAI,CAACD,GAAG,CAAC;IAC3C;EAAC;IAAAf,GAAA;IAAAC,KAAA,EAED,SAAAG,iBAAA,EAA2B;MACzB,IAAMqB,QAAQ,GAAG,IAAIrC,IAAI,CAAC,IAAIE,aAAa,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAID,iBAAiB,CAAC;QAAEqC,KAAK,EAAE,IAAIxC,KAAK,CAAC,KAAK;MAAE,CAAC,CAAC,CAAC;MAC5G,IAAI,CAAC6B,GAAG,CAACC,GAAG,CAACS,QAAQ,CAAC;IACxB;EAAC;EAAA,OAAA9B,aAAA;AAAA;AAGH,eAAeA,aAAa"}
@@ -1,4 +1,4 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
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
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
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
4
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
@@ -10,8 +10,8 @@ function _assertThisInitialized(self) { if (self === void 0) { throw new Referen
10
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
11
  function _getPrototypeOf(o) { _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) { return o.__proto__ || Object.getPrototypeOf(o); }; return _getPrototypeOf(o); }
12
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(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
14
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
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
15
  import { BufferGeometry, Float32BufferAttribute, QuadraticBezierCurve3, Vector2, Vector3 } from '@anov/3d-core';
16
16
  var TubeGeometry = /*#__PURE__*/function (_BufferGeometry) {
17
17
  _inherits(TubeGeometry, _BufferGeometry);
@@ -1 +1 @@
1
- {"version":3,"names":["BufferGeometry","Float32BufferAttribute","QuadraticBezierCurve3","Vector2","Vector3","TubeGeometry","path","tubularSegments","radius","radialSegments","closed","type","parameters","frames","computeFrenetFrames","tangents","normals","binormals","vertex","normal","uv","P","vertices","uvs","indices","generateBufferData","setIndex","setAttribute","i","generateSegment","generateUVs","generateIndices","getPointAt","T","referenceVector","y","set","N","B","crossVectors","normalize","j","v","Math","PI","sin","cos","x","z","push","a","b","c","d"],"sources":["../../../../src/factory/unit/inspection/tubeGeometry.ts"],"sourcesContent":["import { BufferGeometry, Color, Float32BufferAttribute, LineCurve3, Mesh, MeshBasicMaterial, QuadraticBezierCurve3, SceneControl as Scene, Vector2, Vector3 } from '@anov/3d-core'\n\nclass TubeGeometry extends BufferGeometry {\n type: string\n parameters: {\n path: QuadraticBezierCurve3\n tubularSegments: number\n radius: number\n radialSegments: number\n closed: boolean\n }\n\n tangents: Vector3[]\n normals: Vector3[]\n binormals: Vector3[]\n constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) {\n super()\n\n this.type = 'TubeGeometry'\n\n this.parameters = {\n path,\n tubularSegments,\n radius,\n radialSegments,\n closed,\n }\n\n const frames = path.computeFrenetFrames(tubularSegments, closed)\n\n // expose internals\n\n this.tangents = frames.tangents\n this.normals = frames.normals\n this.binormals = frames.binormals\n\n // helper variables\n\n const vertex = new Vector3()\n const normal = new Vector3()\n const uv = new Vector2()\n let P = new Vector3()\n\n // buffer\n\n const vertices = []\n const normals = []\n const uvs = []\n const indices = []\n\n // create buffer data\n\n generateBufferData()\n\n // build geometry\n\n this.setIndex(indices)\n this.setAttribute('position', new Float32BufferAttribute(vertices, 3))\n this.setAttribute('normal', new Float32BufferAttribute(normals, 3))\n this.setAttribute('uv', new Float32BufferAttribute(uvs, 2))\n\n // functions\n\n function generateBufferData() {\n for (let i = 0; i < tubularSegments; i++)\n\n generateSegment(i)\n\n // if the geometry is not closed, generate the last row of vertices and normals\n // at the regular position on the given path\n //\n // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ)\n\n generateSegment((closed === false) ? tubularSegments : 0)\n\n // uvs are generated in a separate function.\n // this makes it easy compute correct values for closed geometries\n\n generateUVs()\n\n // finally create faces\n\n generateIndices()\n }\n\n function generateSegment(i) {\n P = path.getPointAt(i / tubularSegments, P)\n\n const T = frames.tangents[i]\n\n const referenceVector = new Vector3(0, 1, 0)\n if (T.y > 0.999)\n referenceVector.set(1, 0, 0)\n\n const N = new Vector3()\n const B = new Vector3()\n\n N.crossVectors(T, referenceVector).normalize()\n B.crossVectors(T, N).normalize()\n\n for (let j = 0; j <= radialSegments; j++) {\n const v = j / radialSegments * Math.PI * 2\n const sin = Math.sin(v)\n const cos = -Math.cos(v)\n\n // 使用切线来生成法线\n normal.x = cos * N.x + sin * B.x\n normal.y = cos * N.y + sin * B.y\n normal.z = cos * N.z + sin * B.z\n normal.normalize()\n\n normals.push(normal.x, normal.y, normal.z)\n\n // 使用切线生成顶点\n vertex.x = P.x + radius * normal.x\n vertex.y = P.y + radius * normal.y\n vertex.z = P.z + radius * normal.z\n\n vertices.push(vertex.x, vertex.y, vertex.z)\n }\n }\n\n function generateIndices() {\n for (let j = 1; j <= tubularSegments; j++) {\n for (let i = 1; i <= radialSegments; i++) {\n const a = (radialSegments + 1) * (j - 1) + (i - 1)\n const b = (radialSegments + 1) * j + (i - 1)\n const c = (radialSegments + 1) * j + i\n const d = (radialSegments + 1) * (j - 1) + i\n\n // faces\n\n indices.push(a, b, d)\n indices.push(b, c, d)\n }\n }\n }\n\n function generateUVs() {\n for (let i = 0; i <= tubularSegments; i++) {\n for (let j = 0; j <= radialSegments; j++) {\n uv.x = i / tubularSegments\n uv.y = j / radialSegments\n\n uvs.push(uv.x, uv.y)\n }\n }\n }\n }\n}\n\nexport default TubeGeometry"],"mappings":"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"}
1
+ {"version":3,"names":["BufferGeometry","Float32BufferAttribute","QuadraticBezierCurve3","Vector2","Vector3","TubeGeometry","_BufferGeometry","_inherits","_super","_createSuper","_this","path","arguments","length","undefined","tubularSegments","radius","radialSegments","closed","_classCallCheck","call","_defineProperty","_assertThisInitialized","type","parameters","frames","computeFrenetFrames","tangents","normals","binormals","vertex","normal","uv","P","vertices","uvs","indices","generateBufferData","setIndex","setAttribute","i","generateSegment","generateUVs","generateIndices","getPointAt","T","referenceVector","y","set","N","B","crossVectors","normalize","j","v","Math","PI","sin","cos","x","z","push","a","b","c","d","_createClass"],"sources":["../../../../src/factory/unit/inspection/tubeGeometry.ts"],"sourcesContent":["import { BufferGeometry, Color, Float32BufferAttribute, LineCurve3, Mesh, MeshBasicMaterial, QuadraticBezierCurve3, SceneControl as Scene, Vector2, Vector3 } from '@anov/3d-core'\n\nclass TubeGeometry extends BufferGeometry {\n type: string\n parameters: {\n path: QuadraticBezierCurve3\n tubularSegments: number\n radius: number\n radialSegments: number\n closed: boolean\n }\n\n tangents: Vector3[]\n normals: Vector3[]\n binormals: Vector3[]\n constructor(path = new QuadraticBezierCurve3(new Vector3(-1, -1, 0), new Vector3(-1, 1, 0), new Vector3(1, 1, 0)), tubularSegments = 64, radius = 1, radialSegments = 8, closed = false) {\n super()\n\n this.type = 'TubeGeometry'\n\n this.parameters = {\n path,\n tubularSegments,\n radius,\n radialSegments,\n closed,\n }\n\n const frames = path.computeFrenetFrames(tubularSegments, closed)\n\n // expose internals\n\n this.tangents = frames.tangents\n this.normals = frames.normals\n this.binormals = frames.binormals\n\n // helper variables\n\n const vertex = new Vector3()\n const normal = new Vector3()\n const uv = new Vector2()\n let P = new Vector3()\n\n // buffer\n\n const vertices = []\n const normals = []\n const uvs = []\n const indices = []\n\n // create buffer data\n\n generateBufferData()\n\n // build geometry\n\n this.setIndex(indices)\n this.setAttribute('position', new Float32BufferAttribute(vertices, 3))\n this.setAttribute('normal', new Float32BufferAttribute(normals, 3))\n this.setAttribute('uv', new Float32BufferAttribute(uvs, 2))\n\n // functions\n\n function generateBufferData() {\n for (let i = 0; i < tubularSegments; i++)\n\n generateSegment(i)\n\n // if the geometry is not closed, generate the last row of vertices and normals\n // at the regular position on the given path\n //\n // if the geometry is closed, duplicate the first row of vertices and normals (uvs will differ)\n\n generateSegment((closed === false) ? tubularSegments : 0)\n\n // uvs are generated in a separate function.\n // this makes it easy compute correct values for closed geometries\n\n generateUVs()\n\n // finally create faces\n\n generateIndices()\n }\n\n function generateSegment(i) {\n P = path.getPointAt(i / tubularSegments, P)\n\n const T = frames.tangents[i]\n\n const referenceVector = new Vector3(0, 1, 0)\n if (T.y > 0.999)\n referenceVector.set(1, 0, 0)\n\n const N = new Vector3()\n const B = new Vector3()\n\n N.crossVectors(T, referenceVector).normalize()\n B.crossVectors(T, N).normalize()\n\n for (let j = 0; j <= radialSegments; j++) {\n const v = j / radialSegments * Math.PI * 2\n const sin = Math.sin(v)\n const cos = -Math.cos(v)\n\n // 使用切线来生成法线\n normal.x = cos * N.x + sin * B.x\n normal.y = cos * N.y + sin * B.y\n normal.z = cos * N.z + sin * B.z\n normal.normalize()\n\n normals.push(normal.x, normal.y, normal.z)\n\n // 使用切线生成顶点\n vertex.x = P.x + radius * normal.x\n vertex.y = P.y + radius * normal.y\n vertex.z = P.z + radius * normal.z\n\n vertices.push(vertex.x, vertex.y, vertex.z)\n }\n }\n\n function generateIndices() {\n for (let j = 1; j <= tubularSegments; j++) {\n for (let i = 1; i <= radialSegments; i++) {\n const a = (radialSegments + 1) * (j - 1) + (i - 1)\n const b = (radialSegments + 1) * j + (i - 1)\n const c = (radialSegments + 1) * j + i\n const d = (radialSegments + 1) * (j - 1) + i\n\n // faces\n\n indices.push(a, b, d)\n indices.push(b, c, d)\n }\n }\n }\n\n function generateUVs() {\n for (let i = 0; i <= tubularSegments; i++) {\n for (let j = 0; j <= radialSegments; j++) {\n uv.x = i / tubularSegments\n uv.y = j / radialSegments\n\n uvs.push(uv.x, uv.y)\n }\n }\n }\n }\n}\n\nexport default TubeGeometry"],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"names":["Color","ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","r","g","b","_MainTex","load","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.0\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"AACA,SAASA,KAAK,EAAEC,cAAc,EAAEC,MAAM,EAAEC,aAAa,EAAEC,OAAO,EAAEC,OAAO,EAAOC,GAAG,QAAQ,eAAe;AACxG,SAASC,OAAO;AAEhB,IAAMC,aAAa,GAAG,SAAhBA,aAAa,CAAIC,IAAc,EAAEC,cAAuB,EAAK;EACjE,IAAMC,SAAS,GAAG,IAAIP,OAAO,EAAE,CAACQ,UAAU,CAACF,cAAc,EAAED,IAAI,CAACI,QAAQ,CAAC;EACzEF,SAAS,CAACG,CAAC,GAAG,CAAC;EACfH,SAAS,CAACI,SAAS,EAAE;EAErB,IAAIC,SAAS,GAAGC,IAAI,CAACC,KAAK,CAAC,CAACP,SAAS,CAACQ,CAAC,EAAER,SAAS,CAACS,CAAC,CAAC;EAErDJ,SAAS,IAAIC,IAAI,CAACI,EAAE,GAAG,CAAC;EAExBZ,IAAI,CAACa,QAAQ,CAACR,CAAC,GAAGE,SAAS,GAAGC,IAAI,CAACI,EAAE;AACvC,CAAC;AAED,IAAMR,QAAQ,GAAG,CAAC;EAAEO,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,iBAAiB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACxF;EAAEC,CAAC,EAAE,CAAC,iBAAiB;EAAEN,CAAC,EAAE,CAAC,iBAAiB;EAAEK,CAAC,EAAE,CAAC;AAAkB,CAAC,EACvE;EAAEC,CAAC,EAAE,CAAC,iBAAiB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACvE;EAAEC,CAAC,EAAE,CAAC,iBAAiB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAmB,CAAC,EACxE;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACxE;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACxE;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACxE;EAAEC,CAAC,EAAE,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACvE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,CAAC,mBAAmB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACvE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE;AAAmB,CAAC,EACvE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,CAAC,iBAAiB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EACrE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,iBAAiB;EAAEK,CAAC,EAAE,CAAC;AAAkB,CAAC,EACrE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,iBAAiB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACtE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,mBAAmB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACxE;EAAEC,CAAC,EAAE,iBAAiB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACxE;EAAEC,CAAC,EAAE,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE,CAAC;AAAkB,CAAC,EACxE;EAAEC,CAAC,EAAE,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACzE;EAAEC,CAAC,EAAE,CAAC,iBAAiB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EACzE;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,CAAC,kBAAkB;EAAEK,CAAC,EAAE,CAAC;AAAkB,CAAC,EACzE;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,sBAAsB;EAAEK,CAAC,EAAE,CAAC;AAAmB,CAAC,EAC7E;EAAEC,CAAC,EAAE,kBAAkB;EAAEN,CAAC,EAAE,sBAAsB;EAAEK,CAAC,EAAE;AAAkB,CAAC,EAC1E;EAAEC,CAAC,EAAE,CAAC,kBAAkB;EAAEN,CAAC,EAAE,CAAC;EAAEK,CAAC,EAAE;AAAmB,CAAC,CACxD;;AAED;AACA;AACA;AACA;AACA,IAAMI,eAAe,GAAG,SAAlBA,eAAe,CAAIC,SAAkB,EAAK;EAC9C,oBAA0BlB,GAAG,CAACmB,QAAQ,EAAE;IAAhCC,KAAK,iBAALA,KAAK;IAAEC,MAAM,iBAANA,MAAM;EACrB,IAAMC,SAAS,GAAGJ,SAAS,aAATA,SAAS,cAATA,SAAS,GAAI,EAAE;EAEjC,IAAMK,kBAAkB,GAAG,IAAI5B,cAAc,CAC3C;IACE6B,QAAQ,EAAE;MACRC,UAAU,EAAE;QACVC,KAAK,EAAE,IAAI3B,OAAO,CAAC,IAAIL,KAAK,CAAC,SAAS,CAAC,CAACiC,CAAC,EAAE,IAAIjC,KAAK,CAAC,SAAS,CAAC,CAACkC,CAAC,EAAE,IAAIlC,KAAK,CAAC,SAAS,CAAC,CAACmC,CAAC,EAAE,CAAC;MAC9F,CAAC;MACDC,QAAQ,EAAE;QACRJ,KAAK,EAAE,IAAI7B,aAAa,EAAE,CAACkC,IAAI,WAAI9B,OAAO;MAC5C,CAAC;MACD+B,QAAQ,EAAE;QACRN,KAAK,EAAE;MACT;IACF,CAAC;IACDO,SAAS,EAAE,KAAK;IAChBC,WAAW,EAAE,IAAI;IACjBC,YAAY,EAAE,uKAMf;IACCC,cAAc,EAAE;EAuBlB,CAAC,CACF;EAED7B,QAAQ,CAAC8B,OAAO,CAAC,UAACC,IAAI,EAAK;IACzB,IAAMC,MAAM,GAAG,IAAI3C,MAAM,CACvB2B,kBAAkB,CACnB;IAEDgB,MAAM,CAACC,KAAK,CAACC,GAAG,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC,CAAC;IAC3BF,MAAM,CAACG,OAAO,CAAC,CAAC/B,IAAI,CAACI,EAAE,GAAG,CAAC,CAAC;IAE5BwB,MAAM,CAAChC,QAAQ,CAACkC,GAAG,CAACH,IAAI,CAACxB,CAAC,EAAEwB,IAAI,CAAC9B,CAAC,GAAGG,IAAI,CAACgC,MAAM,EAAE,GAAG,GAAG,EAAEL,IAAI,CAACzB,CAAC,CAAC;IACjE0B,MAAM,CAACK,MAAM,CAACH,GAAG,CAACnB,SAAS,CAAC;IAE5BtB,GAAG,CAAC6C,QAAQ,CAAC,YAAM;MACjB3C,aAAa,CAACqC,MAAM,EAAElB,MAAM,CAAEd,QAAQ,CAAC;MAEvC,IAAIgC,MAAM,CAAChC,QAAQ,CAACC,CAAC,GAAG,GAAG,EACzB+B,MAAM,CAAChC,QAAQ,CAACC,CAAC,GAAG,CAAC;MAEvB+B,MAAM,CAAChC,QAAQ,CAACC,CAAC,IAAI,GAAG;IAC1B,CAAC,CAAC;IAEFY,KAAK,CAAE0B,GAAG,CAACP,MAAM,CAAC;EACpB,CAAC,CAAC;AACJ,CAAC;AAED,eAAetB,eAAe"}
1
+ {"version":3,"names":["Color","ShaderMaterial","Sprite","TextureLoader","Vector3","Vector4","use","usePath","lookAtOnYAxis","mesh","targetPosition","direction","subVectors","position","y","normalize","rotationY","Math","atan2","z","x","PI","rotation","createRiseLayer","riseLayer","_use$useScene","useScene","scene","camera","RiseLayer","riseSpriteMaterial","uniforms","_TintColor","value","r","g","b","_MainTex","load","concat","_InvFade","depthTest","transparent","vertexShader","fragmentShader","forEach","item","sprite","scale","set","rotateZ","random","layers","useframe","add"],"sources":["../../../../src/factory/unit/layer/rise.ts"],"sourcesContent":["import type { Object3D } from '@anov/3d-core'\nimport { Color, ShaderMaterial, Sprite, TextureLoader, Vector3, Vector4, lib, use } from '@anov/3d-core'\nimport { usePath } from '../../3d'\n\nconst lookAtOnYAxis = (mesh: Object3D, targetPosition: Vector3) => {\n const direction = new Vector3().subVectors(targetPosition, mesh.position)\n direction.y = 0\n direction.normalize()\n\n let rotationY = Math.atan2(-direction.z, direction.x)\n\n rotationY -= Math.PI / 2\n\n mesh.rotation.y = rotationY + Math.PI\n}\n\nconst position = [{ x: -498.20348353985537, y: 1.724138326633124, z: -281.23472454616785 },\n { x: -563.1644534597008, y: -7.638570902979723, z: -149.5955833695798 },\n { x: -539.9109368199106, y: -0.7796363631222221, z: 4.303779590985869 },\n { x: -534.3300967431978, y: -1.9484837019957695, z: 207.03842215576515 },\n { x: -442.78992295689204, y: -0.9124291814532626, z: 284.6781114942187 },\n { x: -283.09754160435295, y: -0.8067932128907387, z: 284.7632588661927 },\n { x: -17.793886943446523, y: -0.8170822284307633, z: 278.6614163511422 },\n { x: 179.67836454455573, y: -0.7142971925655957, z: 277.5182969378766 },\n { x: 508.9391424549631, y: -0.06078556583531736, z: 270.6384956562051 },\n { x: 533.1529366899049, y: -0.3130418997158131, z: 175.59337885556306 },\n { x: 533.9192918796916, y: -0.595400047193607, z: 70.85117576185621 },\n { x: 558.8072691291136, y: 5.982457089229797, z: -47.46377685009156 },\n { x: 536.4516296924203, y: 1.629037413908577, z: -152.78540121590413 },\n { x: 555.1397274226065, y: 0.23968594510984076, z: -307.35056881373566 },\n { x: 476.2494806852892, y: -0.8084288516456581, z: -345.36949523013845 },\n { x: 216.87888929400197, y: -0.5794669817644262, z: -332.7211786339103 },\n { x: 175.22031507466454, y: -0.5724182128905113, z: -341.87163811528535 },\n { x: -35.18223117258549, y: -0.6265496863107956, z: -379.64710400924196 },\n { x: -356.44488560882746, y: -0.8819180034963665, z: -351.6907599590395 },\n { x: -237.58163560440826, y: 1.1368683772161603e-13, z: -128.96463232189376 },\n { x: 196.42648060764338, y: 1.1368683772161603e-13, z: 55.58793681693976 },\n { x: -235.24785890696023, y: 0, z: 187.57190736438497 },\n]\n\n/**\n * todo: other page remove animation\n * @param riseLayer\n */\nconst createRiseLayer = (riseLayer?: number) => {\n const { scene, camera } = use.useScene()\n const RiseLayer = riseLayer ?? 28\n\n const riseSpriteMaterial = new ShaderMaterial(\n {\n uniforms: {\n _TintColor: {\n value: new Vector4(new Color('#857125').r, new Color('#857125').g, new Color('#857125').b, 1),\n },\n _MainTex: {\n value: new TextureLoader().load(`${usePath}test03.png`),\n },\n _InvFade: {\n value: 0.5,\n },\n },\n depthTest: false,\n transparent: true,\n vertexShader: /* glsl */`\n varying vec2 vUv;\n void main() {\n vUv = uv;\n gl_Position = projectionMatrix * modelViewMatrix * vec4(position, 1.0);\n }\n `,\n fragmentShader: /* glsl */`\nuniform vec3 _TintColor;\nuniform sampler2D _MainTex;\nuniform float _InvFade;\n\nvarying vec2 vUv;\n\nvoid main() {\n #ifdef USE_SOFTPARTICLES\n float sceneZ = texture2DProj(_CameraDepthTexture, vec4(vUv, 0.0, 1.0)).r;\n float partZ = gl_FragCoord.z / gl_FragCoord.w;\n float fade = clamp(_InvFade * (sceneZ - partZ), 0.0, 1.0);\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0 * fade, texture2D(_MainTex, vUv).a);\n #else\n gl_FragColor = vec4(texture2D(_MainTex, vUv).rgb * _TintColor.rgb * 2.0, texture2D(_MainTex, vUv).a);\n #endif\n\n\n\n \n}\n `,\n\n },\n )\n\n position.forEach((item) => {\n const sprite = new Sprite(\n riseSpriteMaterial as any,\n )\n\n sprite.scale.set(30, 30, 1)\n sprite.rotateZ(-Math.PI / 2)\n\n sprite.position.set(item.x, item.y + Math.random() * 300, item.z)\n sprite.layers.set(RiseLayer)\n\n use.useframe(() => {\n lookAtOnYAxis(sprite, camera!.position)\n\n if (sprite.position.y > 300)\n sprite.position.y = 0\n\n sprite.position.y += 1.0\n })\n\n scene!.add(sprite)\n })\n}\n\nexport default createRiseLayer"],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
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
2
  function _classCallCheck(instance, Constructor) { if (!(instance instanceof Constructor)) { throw new TypeError("Cannot call a class as a function"); } }
3
3
  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); } }
4
4
  function _createClass(Constructor, protoProps, staticProps) { if (protoProps) _defineProperties(Constructor.prototype, protoProps); if (staticProps) _defineProperties(Constructor, staticProps); Object.defineProperty(Constructor, "prototype", { writable: false }); return Constructor; }
5
5
  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; }
6
- function _toPropertyKey(arg) { var key = _toPrimitive(arg, "string"); return _typeof(key) === "symbol" ? key : String(key); }
7
- function _toPrimitive(input, hint) { if (_typeof(input) !== "object" || input === null) return input; var prim = input[Symbol.toPrimitive]; if (prim !== undefined) { var res = prim.call(input, hint || "default"); if (_typeof(res) !== "object") return res; throw new TypeError("@@toPrimitive must return a primitive value."); } return (hint === "string" ? String : Number)(input); }
6
+ function _toPropertyKey(t) { var i = _toPrimitive(t, "string"); return "symbol" == _typeof(i) ? i : String(i); }
7
+ 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); }
8
8
  function _toConsumableArray(arr) { return _arrayWithoutHoles(arr) || _iterableToArray(arr) || _unsupportedIterableToArray(arr) || _nonIterableSpread(); }
9
9
  function _nonIterableSpread() { throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
10
10
  function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
@@ -1 +1 @@
1
- {"version":3,"names":["Color","lib","regionMap","Line2","LineGeometry","LineMaterial","linePosition","label","reform","title","id","color","getHex","belongTo","points","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","LineManage","gobal","options","Map","scene","option","forEach","item","geometry","point","push","setPositions","line","linewidth","visible","add","lineMesh","set"],"sources":["../../../src/factory/unit/line.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, lib } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\nconst { Line2, LineGeometry, LineMaterial } = lib\nconst linePosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n color: new Color('red').getHex(),\n belongTo: regionMap.reform.id,\n points: [...regionMap.reform.area, regionMap.reform.area[0]],\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n color: new Color('red').getHex(),\n belongTo: regionMap.reduction.id,\n points: [...regionMap.reduction.area, regionMap.reduction.area[0]],\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n color: new Color('red').getHex(),\n belongTo: regionMap.crudeOil.id,\n points: [...regionMap.crudeOil.area, regionMap.crudeOil.area[0]],\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n color: new Color('red').getHex(),\n belongTo: regionMap.catalyticCracking.id,\n points: [...regionMap.catalyticCracking.area, regionMap.catalyticCracking.area[0]],\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n color: new Color('red').getHex(),\n belongTo: regionMap.hydrocrackingUnit.id,\n points: [...regionMap.hydrocrackingUnit.area, regionMap.hydrocrackingUnit.area[0]],\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n color: new Color('yellow').getHex(),\n belongTo: regionMap.cokingUnit.id,\n points: [...regionMap.cokingUnit.area, regionMap.cokingUnit.area[0]],\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n color: new Color('red').getHex(),\n belongTo: regionMap.administrative.id,\n points: [...regionMap.administrative.area, regionMap.administrative.area[0]],\n },\n]\n\ntype LineManageOption = {\n visible?: boolean\n}\n\nclass LineManage {\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n private option: LineManageOption\n\n constructor(gobal: Factory3D, options?: LineManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateLine() {\n linePosition.forEach((item) => {\n const geometry = new LineGeometry()\n const points = []\n item.points.forEach((point) => {\n points.push(point[0], point[1], point[2])\n })\n\n geometry.setPositions(points)\n\n const line = new Line2(geometry,\n new LineMaterial({\n color: item.color,\n linewidth: 0.005,\n }))\n\n line.visible = this.option?.visible ?? true\n this.scene.add(line)\n this.lineMesh.set(item.id, line)\n })\n }\n}\n\nexport default LineManage"],"mappings":"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"}
1
+ {"version":3,"names":["Color","lib","regionMap","Line2","LineGeometry","LineMaterial","linePosition","label","reform","title","id","color","getHex","belongTo","points","concat","_toConsumableArray","area","reduction","crudeOil","catalyticCracking","hydrocrackingUnit","cokingUnit","administrative","LineManage","gobal","options","_classCallCheck","_defineProperty","Map","scene","option","_createClass","key","value","generateLine","_this","forEach","item","_this$option$visible","_this$option","geometry","point","push","setPositions","line","linewidth","visible","add","lineMesh","set"],"sources":["../../../src/factory/unit/line.ts"],"sourcesContent":["import type { Object3D, Scene } from '@anov/3d-core'\nimport { Color, lib } from '@anov/3d-core'\nimport type Factory3D from '../3d'\nimport regionMap from '../regionData'\n\nconst { Line2, LineGeometry, LineMaterial } = lib\nconst linePosition = [\n {\n label: regionMap.reform.title,\n id: '1',\n color: new Color('red').getHex(),\n belongTo: regionMap.reform.id,\n points: [...regionMap.reform.area, regionMap.reform.area[0]],\n },\n {\n label: regionMap.reduction.title,\n id: '2',\n color: new Color('red').getHex(),\n belongTo: regionMap.reduction.id,\n points: [...regionMap.reduction.area, regionMap.reduction.area[0]],\n },\n {\n label: regionMap.crudeOil.title,\n id: '3',\n color: new Color('red').getHex(),\n belongTo: regionMap.crudeOil.id,\n points: [...regionMap.crudeOil.area, regionMap.crudeOil.area[0]],\n },\n {\n label: regionMap.catalyticCracking.title,\n id: '4',\n color: new Color('red').getHex(),\n belongTo: regionMap.catalyticCracking.id,\n points: [...regionMap.catalyticCracking.area, regionMap.catalyticCracking.area[0]],\n },\n {\n label: regionMap.hydrocrackingUnit.title,\n id: '5',\n color: new Color('red').getHex(),\n belongTo: regionMap.hydrocrackingUnit.id,\n points: [...regionMap.hydrocrackingUnit.area, regionMap.hydrocrackingUnit.area[0]],\n },\n {\n label: regionMap.cokingUnit.title,\n id: '6',\n color: new Color('yellow').getHex(),\n belongTo: regionMap.cokingUnit.id,\n points: [...regionMap.cokingUnit.area, regionMap.cokingUnit.area[0]],\n },\n {\n label: regionMap.administrative.title,\n id: '7',\n color: new Color('red').getHex(),\n belongTo: regionMap.administrative.id,\n points: [...regionMap.administrative.area, regionMap.administrative.area[0]],\n },\n]\n\ntype LineManageOption = {\n visible?: boolean\n}\n\nclass LineManage {\n private scene: Scene\n readonly lineMesh: Map<string, Object3D> = new Map()\n private option: LineManageOption\n\n constructor(gobal: Factory3D, options?: LineManageOption) {\n this.scene = gobal.scene.scene\n this.option = options || {}\n }\n\n generateLine() {\n linePosition.forEach((item) => {\n const geometry = new LineGeometry()\n const points = []\n item.points.forEach((point) => {\n points.push(point[0], point[1], point[2])\n })\n\n geometry.setPositions(points)\n\n const line = new Line2(geometry,\n new LineMaterial({\n color: item.color,\n linewidth: 0.005,\n }))\n\n line.visible = this.option?.visible ?? true\n this.scene.add(line)\n this.lineMesh.set(item.id, line)\n })\n }\n}\n\nexport default LineManage"],"mappings":"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"}