{"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: 2022-04-29 17:32:46\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\post-processes\\post-process-stage-scan\\use-radar-scan.ts\n */\nimport { VcViewerProvider } from 'casc-cesium-utils/types'\nimport shaderSource from 'casc-cesium-shared/shaders/RadarScan'\nexport default function ($services: VcViewerProvider) {\n  const webgl = options => {\n    const { viewer } = $services\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,\n      uniforms\n    }\n  }\n\n  return {\n    webgl\n  }\n}\n"],"names":[],"mappings":"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"}