vue-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 7.66 kB
Source Map (JSON)
{"version":3,"file":"util.mjs","sources":["../../../../../../packages/components/overlays/wind/util.ts"],"sourcesContent":["/*\n * @Author: zouyaoji@https://github.com/zouyaoji\n * @Date: 2021-10-28 10:11:59\n * @LastEditTime: 2022-03-09 13:44:48\n * @LastEditors: zouyaoji\n * @Description:\n * @FilePath: \\vue-cesium@next\\packages\\components\\overlays\\wind\\util.ts\n */\n\nexport function getFullscreenQuad() {\n const GeometryAttributes = Cesium.GeometryAttributes as any\n const fullscreenQuad = new Cesium.Geometry({\n attributes: new GeometryAttributes({\n position: new Cesium.GeometryAttribute({\n componentDatatype: Cesium.ComponentDatatype.FLOAT,\n componentsPerAttribute: 3,\n // v3----v2\n // | |\n // | |\n // v0----v1\n // prettier-ignore\n values: new Float32Array([\n -1, -1, 0, // v0\n 1, -1, 0, // v1\n 1, 1, 0, // v2\n -1, 1, 0, // v3\n ])\n }),\n st: new Cesium.GeometryAttribute({\n componentDatatype: Cesium.ComponentDatatype.FLOAT,\n componentsPerAttribute: 2,\n values: new Float32Array([0, 0, 1, 0, 1, 1, 0, 1])\n })\n }),\n indices: new Uint32Array([3, 2, 0, 0, 2, 1])\n })\n return fullscreenQuad\n}\n\nexport function createTexture(options, typedArray?) {\n if (Cesium.defined(typedArray)) {\n // typed array needs to be passed as source option, this is required by Cesium.Texture\n const source: any = {}\n source.arrayBufferView = typedArray\n options.source = source\n }\n\n const texture = new Cesium.Texture(options)\n return texture\n}\n\nexport function createFramebuffer(context, colorTexture, depthTexture) {\n const framebuffer = new Cesium.Framebuffer({\n context: context,\n colorTextures: [colorTexture],\n depthTexture: depthTexture\n })\n return framebuffer\n}\n\nexport function createRawRenderState(options) {\n const translucent = true\n const closed = false\n const existing = {\n viewport: options.viewport,\n depthTest: options.depthTest,\n depthMask: options.depthMask,\n blending: options.blending\n }\n\n const rawRenderState = (Cesium.Appearance as any).getDefaultRenderState(translucent, closed, existing)\n return rawRenderState\n}\n\nexport function viewRectangleToLonLatRange(viewRectangle: Cesium.Rectangle) {\n const range: {\n lon?: {\n min: number\n max: number\n }\n lat?: {\n min: number\n max: number\n }\n } = {}\n\n const postiveWest = Cesium.Math.mod(viewRectangle.west, Cesium.Math.TWO_PI)\n const postiveEast = Cesium.Math.mod(viewRectangle.east, Cesium.Math.TWO_PI)\n const width = viewRectangle.width\n\n let longitudeMin\n let longitudeMax\n if (width > Cesium.Math.THREE_PI_OVER_TWO) {\n longitudeMin = 0.0\n longitudeMax = Cesium.Math.TWO_PI\n } else {\n if (postiveEast - postiveWest < width) {\n longitudeMin = postiveWest\n longitudeMax = postiveWest + width\n } else {\n longitudeMin = postiveWest\n longitudeMax = postiveEast\n }\n }\n\n range.lon = {\n min: Cesium.Math.toDegrees(longitudeMin),\n max: Cesium.Math.toDegrees(longitudeMax)\n }\n\n const south = viewRectangle.south\n const north = viewRectangle.north\n const height = viewRectangle.height\n\n const extendHeight = height > Cesium.Math.PI / 12 ? height / 2 : 0\n let extendedSouth = Cesium.Math.clampToLatitudeRange(south - extendHeight)\n let extendedNorth = Cesium.Math.clampToLatitudeRange(north + extendHeight)\n\n // extend the bound in high latitude area to make sure it can cover all the visible area\n if (extendedSouth < -Cesium.Math.PI_OVER_THREE) {\n extendedSouth = -Cesium.Math.PI_OVER_TWO\n }\n if (extendedNorth > Cesium.Math.PI_OVER_THREE) {\n extendedNorth = Cesium.Math.PI_OVER_TWO\n }\n\n range.lat = {\n min: Cesium.Math.toDegrees(extendedSouth),\n max: Cesium.Math.toDegrees(extendedNorth)\n }\n\n return range\n}\n"],"names":[],"mappings":"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"}