casc-cesium
Version:
Vue 3.x components for CesiumJS.
1 lines • 7.78 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":"AAAO,SAAS,iBAAiB,GAAG;AACpC,EAAE,MAAM,kBAAkB,GAAG,MAAM,CAAC,kBAAkB,CAAC;AACvD,EAAE,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,QAAQ,CAAC;AAC7C,IAAI,UAAU,EAAE,IAAI,kBAAkB,CAAC;AACvC,MAAM,QAAQ,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;AAC7C,QAAQ,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;AACzD,QAAQ,sBAAsB,EAAE,CAAC;AACjC,QAAQ,MAAM,EAAE,IAAI,YAAY,CAAC;AACjC,UAAU,CAAC,CAAC;AACZ,UAAU,CAAC,CAAC;AACZ,UAAU,CAAC;AACX,UAAU,CAAC;AACX,UAAU,CAAC,CAAC;AACZ,UAAU,CAAC;AACX,UAAU,CAAC;AACX,UAAU,CAAC;AACX,UAAU,CAAC;AACX,UAAU,CAAC,CAAC;AACZ,UAAU,CAAC;AACX,UAAU,CAAC;AACX,SAAS,CAAC;AACV,OAAO,CAAC;AACR,MAAM,EAAE,EAAE,IAAI,MAAM,CAAC,iBAAiB,CAAC;AACvC,QAAQ,iBAAiB,EAAE,MAAM,CAAC,iBAAiB,CAAC,KAAK;AACzD,QAAQ,sBAAsB,EAAE,CAAC;AACjC,QAAQ,MAAM,EAAE,IAAI,YAAY,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAC1D,OAAO,CAAC;AACR,KAAK,CAAC;AACN,IAAI,OAAO,EAAE,IAAI,WAAW,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;AAChD,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACM,SAAS,aAAa,CAAC,OAAO,EAAE,UAAU,EAAE;AACnD,EAAE,IAAI,MAAM,CAAC,OAAO,CAAC,UAAU,CAAC,EAAE;AAClC,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,CAAC,eAAe,GAAG,UAAU,CAAC;AACxC,IAAI,OAAO,CAAC,MAAM,GAAG,MAAM,CAAC;AAC5B,GAAG;AACH,EAAE,MAAM,OAAO,GAAG,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;AAC9C,EAAE,OAAO,OAAO,CAAC;AACjB,CAAC;AACM,SAAS,iBAAiB,CAAC,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE;AACvE,EAAE,MAAM,WAAW,GAAG,IAAI,MAAM,CAAC,WAAW,CAAC;AAC7C,IAAI,OAAO;AACX,IAAI,aAAa,EAAE,CAAC,YAAY,CAAC;AACjC,IAAI,YAAY;AAChB,GAAG,CAAC,CAAC;AACL,EAAE,OAAO,WAAW,CAAC;AACrB,CAAC;AACM,SAAS,oBAAoB,CAAC,OAAO,EAAE;AAC9C,EAAE,MAAM,WAAW,GAAG,IAAI,CAAC;AAC3B,EAAE,MAAM,MAAM,GAAG,KAAK,CAAC;AACvB,EAAE,MAAM,QAAQ,GAAG;AACnB,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC9B,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,SAAS,EAAE,OAAO,CAAC,SAAS;AAChC,IAAI,QAAQ,EAAE,OAAO,CAAC,QAAQ;AAC9B,GAAG,CAAC;AACJ,EAAE,MAAM,cAAc,GAAG,MAAM,CAAC,UAAU,CAAC,qBAAqB,CAAC,WAAW,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAChG,EAAE,OAAO,cAAc,CAAC;AACxB,CAAC;AACM,SAAS,0BAA0B,CAAC,aAAa,EAAE;AAC1D,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;AACnB,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E,EAAE,MAAM,WAAW,GAAG,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,aAAa,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;AAC9E,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;AACpC,EAAE,IAAI,YAAY,CAAC;AACnB,EAAE,IAAI,YAAY,CAAC;AACnB,EAAE,IAAI,KAAK,GAAG,MAAM,CAAC,IAAI,CAAC,iBAAiB,EAAE;AAC7C,IAAI,YAAY,GAAG,CAAC,CAAC;AACrB,IAAI,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC;AACtC,GAAG,MAAM;AACT,IAAI,IAAI,WAAW,GAAG,WAAW,GAAG,KAAK,EAAE;AAC3C,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,YAAY,GAAG,WAAW,GAAG,KAAK,CAAC;AACzC,KAAK,MAAM;AACX,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,MAAM,YAAY,GAAG,WAAW,CAAC;AACjC,KAAK;AACL,GAAG;AACH,EAAE,KAAK,CAAC,GAAG,GAAG;AACd,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC5C,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,YAAY,CAAC;AAC5C,GAAG,CAAC;AACJ,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;AACpC,EAAE,MAAM,KAAK,GAAG,aAAa,CAAC,KAAK,CAAC;AACpC,EAAE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC;AACtC,EAAE,MAAM,YAAY,GAAG,MAAM,GAAG,MAAM,CAAC,IAAI,CAAC,EAAE,GAAG,EAAE,GAAG,MAAM,GAAG,CAAC,GAAG,CAAC,CAAC;AACrE,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;AAC7E,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,KAAK,GAAG,YAAY,CAAC,CAAC;AAC7E,EAAE,IAAI,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;AAClD,IAAI,aAAa,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC7C,GAAG;AACH,EAAE,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE;AACjD,IAAI,aAAa,GAAG,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC;AAC5C,GAAG;AACH,EAAE,KAAK,CAAC,GAAG,GAAG;AACd,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;AAC7C,IAAI,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC;AAC7C,GAAG,CAAC;AACJ,EAAE,OAAO,KAAK,CAAC;AACf;;;;"}