vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 5.75 kB
Source Map (JSON)
{"version":3,"file":"use-circle-scan.mjs","sources":["../../../../../../packages/components/post-processes/post-process-stage-scan/use-circle-scan.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-27 15:54:13\n * @LastEditTime: 2023-03-09 09:53:21\n * @LastEditors: zouyaoji 370681295@qq.com\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\post-processes\\post-process-stage-scan\\use-circle-scan.ts\n */\nimport { VcViewerProvider } from '@vue-cesium/utils/types'\nimport shaderSource from '@vue-cesium/shared/shaders/CircleScan'\nexport default function ($services: VcViewerProvider) {\n const webgl = options => {\n const { viewer } = $services\n\n const webgl2 = 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\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 _time = new Date().getTime()\n const _scratchCartesian4Center = new Cesium.Cartesian4()\n const _scratchCartesian4Center1 = new Cesium.Cartesian4()\n const _scratchCartesian3Normal = 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: function () {\n return (options.radius * ((new Date().getTime() - _time) % options.interval)) / options.interval\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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"}