UNPKG

@dspacev-bundle/vue-cesium

Version:
1 lines 9.48 kB
{"version":3,"file":"use-radar-scan.mjs","sources":["../../../../../../packages/components/post-processes/post-process-stage-scan/use-radar-scan.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-27 15:54:13\n * @LastEditTime: 2023-03-09 14:05:49\n * @LastEditors: zouyaoji 370681295@qq.com\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\post-processes\\post-process-stage-scan\\use-radar-scan.ts\n */\nimport { VcViewerProvider } from '@vue-cesium/utils/types'\nimport shaderSource from '@vue-cesium/shared/shaders/RadarScan'\nexport default function ($services: VcViewerProvider) {\n const webgl = options => {\n const { viewer } = $services\n\n const webgl2 = $services.viewer.scene.context?.webgl2\n let shaderSourceText = shaderSource\n if (!webgl2) {\n shaderSourceText = shaderSourceText.replace('in vec2 v_textureCoordinates;', 'varying vec2 v_textureCoordinates;')\n shaderSourceText = shaderSourceText.replace(/texture\\(/g, 'texture2D(')\n shaderSourceText = shaderSourceText.replace(/out_FragColor/g, 'gl_FragColor')\n }\n const cartographicCenter = Cesium.Cartographic.fromCartesian(options.position, viewer.scene.globe.ellipsoid)\n const _Cartesian3Center = Cesium.Cartographic.toCartesian(cartographicCenter, viewer.scene.globe.ellipsoid)\n const _Cartesian4Center = new Cesium.Cartesian4(_Cartesian3Center.x, _Cartesian3Center.y, _Cartesian3Center.z, 1)\n const _CartographicCenter1 = new Cesium.Cartographic(cartographicCenter.longitude, cartographicCenter.latitude, cartographicCenter.height + 500)\n const _Cartesian3Center1 = Cesium.Cartographic.toCartesian(_CartographicCenter1, viewer.scene.globe.ellipsoid)\n const _Cartesian4Center1 = new Cesium.Cartesian4(_Cartesian3Center1.x, _Cartesian3Center1.y, _Cartesian3Center1.z, 1)\n const _CartographicCenter2 = new Cesium.Cartographic(\n cartographicCenter.longitude + Cesium.Math.toRadians(0.001),\n cartographicCenter.latitude,\n cartographicCenter.height\n )\n const _Cartesian3Center2 = Cesium.Cartographic.toCartesian(_CartographicCenter2, viewer.scene.globe.ellipsoid)\n const _Cartesian4Center2 = new Cesium.Cartesian4(_Cartesian3Center2.x, _Cartesian3Center2.y, _Cartesian3Center2.z, 1)\n const _RotateQ = new Cesium.Quaternion()\n const _RotateM = new Cesium.Matrix3()\n const _time = new Date().getTime()\n const _scratchCartesian4Center = new Cesium.Cartesian4()\n const _scratchCartesian4Center1 = new Cesium.Cartesian4()\n const _scratchCartesian4Center2 = new Cesium.Cartesian4()\n const _scratchCartesian3Normal = new Cesium.Cartesian3()\n const _scratchCartesian3Normal1 = new Cesium.Cartesian3()\n const uniforms = {\n u_scanCenterEC: function () {\n return Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center, _scratchCartesian4Center)\n },\n u_scanPlaneNormalEC: function () {\n const temp = Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center, _scratchCartesian4Center)\n const temp1 = Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center1, _scratchCartesian4Center1)\n _scratchCartesian3Normal.x = temp1.x - temp.x\n _scratchCartesian3Normal.y = temp1.y - temp.y\n _scratchCartesian3Normal.z = temp1.z - temp.z\n Cesium.Cartesian3.normalize(_scratchCartesian3Normal, _scratchCartesian3Normal)\n return _scratchCartesian3Normal\n },\n u_radius: options.radius,\n u_scanLineNormalEC: function () {\n const temp = Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center, _scratchCartesian4Center)\n const temp1 = Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center1, _scratchCartesian4Center1)\n const temp2 = Cesium.Matrix4.multiplyByVector(viewer.camera.viewMatrix, _Cartesian4Center2, _scratchCartesian4Center2)\n _scratchCartesian3Normal.x = temp1.x - temp.x\n _scratchCartesian3Normal.y = temp1.y - temp.y\n _scratchCartesian3Normal.z = temp1.z - temp.z\n Cesium.Cartesian3.normalize(_scratchCartesian3Normal, _scratchCartesian3Normal)\n _scratchCartesian3Normal1.x = temp2.x - temp.x\n _scratchCartesian3Normal1.y = temp2.y - temp.y\n _scratchCartesian3Normal1.z = temp2.z - temp.z\n const tempTime = ((new Date().getTime() - _time) % options.interval) / options.interval\n Cesium.Quaternion.fromAxisAngle(_scratchCartesian3Normal, tempTime * Cesium.Math.PI * 2, _RotateQ)\n Cesium.Matrix3.fromQuaternion(_RotateQ, _RotateM)\n Cesium.Matrix3.multiplyByVector(_RotateM, _scratchCartesian3Normal1, _scratchCartesian3Normal1)\n Cesium.Cartesian3.normalize(_scratchCartesian3Normal1, _scratchCartesian3Normal1)\n return _scratchCartesian3Normal1\n },\n u_scanColor: options.color\n }\n return {\n shaderSource: shaderSourceText,\n uniforms\n }\n }\n\n return {\n webgl\n }\n}\n"],"names":[],"mappings":"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"}