5 | */
6 | class Manager {
7 | /**
8 | * @description 创建一个实例
9 | * @param {Object} conf
10 | * @param {Array} conf.data 图层数组 [layer,...] 默认为[]
11 | */
12 | constructor (config = {}) {
13 | this._list = config.data || []
14 | }
15 |
16 | /**
17 | * @description 添加1个图层到管理器
18 | * @param {String} id 图层id
19 | * @param {String} title 图层名称
20 | * @param {*} layer 图层实例
21 | */
22 | add (layer) {
23 | if (layer === undefined) {
24 | console.error('缺少图层实例')
25 | return
26 | }
27 | if (layer.id === undefined) {
28 | console.error('缺少图层id')
29 | return
30 | }
31 | const { id } = layer
32 | const match = this.findLayerById(id)
33 |
34 | if (match) {
35 | console.error(`图层的id ${id} 不是唯一标识,请更换`)
36 | return
37 | }
38 | this._list.push(layer)
39 | }
40 |
41 | /**
42 | * @description 通过id查找图层信息
43 | * @param {String} id 图层id
44 | * @returns {*} 返回匹配的第一个图层
45 | */
46 | findLayerById (id) {
47 | const match = this._list.find(item => item.id === id)
48 | return match
49 | }
50 |
51 | /**
52 | * 将指定图层从管理器中移除
53 | * @params {String, Array} 图层id,或图层id数组
54 | * @return {Array} 剩余图层数组
55 | */
56 | remove (ids) {
57 | if (!(ids instanceof Array)) {
58 | ids = [ids]
59 | }
60 | const arr = this._list.filter(v => {
61 | return ids.includes(v.id) == false
62 | })
63 | this._list = arr
64 | return arr
65 | }
66 |
67 | /**
68 | * @description 销毁指定id的图层
69 | * @param id
70 | */
71 | destroyLayerById (id) {
72 | const layer = this.findLayerById(id)
73 | if (layer) {
74 | if (layer.destroy) {
75 | layer.destroy()
76 | }
77 | this.remove(id)
78 | }
79 | }
80 |
81 | /**
82 | * @description 清空当前的图层管理器
83 | */
84 | clear () {
85 | this._list.forEach((layer) => {
86 | if (layer.destroy) {
87 | layer.destroy()
88 | }
89 | console.log(`销毁layer ${layer.id}`)
90 | })
91 | this._list = []
92 | }
93 |
94 | /**
95 | * @description 显示下属所有图层
96 | */
97 | show () {
98 | this._list.forEach((layer) => {
99 | layer.show()
100 | })
101 | }
102 |
103 | /**
104 | * @description 隐藏下属所有图层
105 | */
106 | hide () {
107 | this._list.forEach((layer) => {
108 | layer.hide()
109 | })
110 | }
111 | }
112 |
113 | export default Manager
114 |
--------------------------------------------------------------------------------
/static/tiles/small-town/tileset.json:
--------------------------------------------------------------------------------
1 | {
2 | "asset": {
3 | "generatetool": "cesiumlab2@www.cesiumlab.com/model2tiles",
4 | "version": "1.0"
5 | },
6 | "extras": {
7 | "scenetree": "scenetree.json"
8 | },
9 | "geometricError": 121.322573477868,
10 | "properties": null,
11 | "refine": "REPLACE",
12 | "root": {
13 | "boundingVolume": {
14 | "box": [
15 | 5.7499622926116e-05,
16 | 0.00100043998099864,
17 | 21.4384684204124,
18 | 60.661286738934,
19 | 0,
20 | 0,
21 | 0,
22 | 39.6685188075062,
23 | 0,
24 | 0,
25 | 0,
26 | 21.4787970068865
27 | ]
28 | },
29 | "children": [
30 | {
31 | "boundingVolume": {
32 | "box": [
33 | -0.0659999884863964,
34 | -0.0360000017099082,
35 | 0.0125137674988913,
36 | 60.5945047310736,
37 | 0,
38 | 0,
39 | 0,
40 | 39.6194838626251,
41 | 0,
42 | 0,
43 | 0,
44 | 5.78877223933461e-15
45 | ]
46 | },
47 | "content": {
48 | "uri": "NoLod_0.b3dm"
49 | },
50 | "geometricError": 0.0,
51 | "refine": "REPLACE"
52 | },
53 | {
54 | "boundingVolume": {
55 | "box": [
56 | 0.0248127291414733,
57 | 0.001000000047501,
58 | 21.4386965353069,
59 | 60.6358110102243,
60 | 0,
61 | 0,
62 | 0,
63 | 39.6682504046485,
64 | 0,
65 | 0,
66 | 0,
67 | 21.4787334722958
68 | ]
69 | },
70 | "content": {
71 | "uri": "NoLod_1.cmpt"
72 | },
73 | "geometricError": 0.0,
74 | "refine": "REPLACE"
75 | }
76 | ],
77 | "geometricError": 121.322573477868,
78 | "transform":[-0.7499999999999997, -1.299038105676658, 0, 0, 1.299038105676658, -0.7499999999999997, 0, 0, 0, 0, 1.5, 0, 0, 0, 0, 1]
79 | }
80 | }
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-S4EGOK7B.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as C}from"./chunk-U5Y6TUUH.js";import{a as P}from"./chunk-SXCE2VWF.js";import{a as O,b as L}from"./chunk-IGBMENRT.js";import{a as y}from"./chunk-SEE54P6A.js";import{e as S}from"./chunk-2TPVVSVW.js";var T={};function b(a,e){return y.equalsEpsilon(a.latitude,e.latitude,y.EPSILON10)&&y.equalsEpsilon(a.longitude,e.longitude,y.EPSILON10)}var q=new L,v=new L;function w(a,e,i,h){e=P(e,O.equalsEpsilon);let p=e.length;if(p<2)return;let E=S(h),u=S(i),l=new Array(p),g=new Array(p),r=new Array(p),d=e[0];l[0]=d;let f=a.cartesianToCartographic(d,q);u&&(f.height=i[0]),g[0]=f.height,E?r[0]=h[0]:r[0]=0;let o=g[0],m=r[0],t=o===m,n=1;for(let c=1;c0?d.INSIDE:o+u<0?d.OUTSIDE:d.INTERSECTING};t.prototype.clone=function(m){return t.clone(this,m)};t.prototype.intersectPlane=function(m){return t.intersectPlane(this,m)};t.prototype.equals=function(m){return t.equals(this,m)};var P=t;export{P as a};
27 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/createCircleOutlineGeometry.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as n}from"./chunk-6NY3FMKD.js";import"./chunk-JGZRKYSE.js";import"./chunk-TB7RSGDN.js";import"./chunk-PDIF2AUE.js";import"./chunk-LIAARPDW.js";import"./chunk-PRRW7QSP.js";import"./chunk-4NBDOIVA.js";import"./chunk-YIJHUUZY.js";import"./chunk-CSZ6CHXI.js";import"./chunk-XXK6IR5Y.js";import{a as o,d as s}from"./chunk-IGBMENRT.js";import"./chunk-SEE54P6A.js";import"./chunk-JNX2URIY.js";import"./chunk-4Z3GDVJK.js";import{a as u}from"./chunk-LU3FCBPP.js";import{b as d}from"./chunk-S2577PU4.js";import{e as a}from"./chunk-2TPVVSVW.js";function m(e){e=u(e,u.EMPTY_OBJECT);let r=e.radius;d.typeOf.number("radius",r);let l={center:e.center,semiMajorAxis:r,semiMinorAxis:r,ellipsoid:e.ellipsoid,height:e.height,extrudedHeight:e.extrudedHeight,granularity:e.granularity,numberOfVerticalLines:e.numberOfVerticalLines};this._ellipseGeometry=new n(l),this._workerName="createCircleOutlineGeometry"}m.packedLength=n.packedLength;m.pack=function(e,r,l){return d.typeOf.object("value",e),n.pack(e._ellipseGeometry,r,l)};var p=new n({center:new o,semiMajorAxis:1,semiMinorAxis:1}),i={center:new o,radius:void 0,ellipsoid:s.clone(s.UNIT_SPHERE),height:void 0,extrudedHeight:void 0,granularity:void 0,numberOfVerticalLines:void 0,semiMajorAxis:void 0,semiMinorAxis:void 0};m.unpack=function(e,r,l){let t=n.unpack(e,r,p);return i.center=o.clone(t._center,i.center),i.ellipsoid=s.clone(t._ellipsoid,i.ellipsoid),i.height=t._height,i.extrudedHeight=t._extrudedHeight,i.granularity=t._granularity,i.numberOfVerticalLines=t._numberOfVerticalLines,a(l)?(i.semiMajorAxis=t._semiMajorAxis,i.semiMinorAxis=t._semiMinorAxis,l._ellipseGeometry=new n(i),l):(i.radius=t._semiMajorAxis,new m(i))};m.createGeometry=function(e){return n.createGeometry(e._ellipseGeometry)};var c=m;function f(e,r){return a(r)&&(e=c.unpack(e,r)),e._ellipseGeometry._center=o.clone(e._ellipseGeometry._center),e._ellipseGeometry._ellipsoid=s.clone(e._ellipseGeometry._ellipsoid),c.createGeometry(e)}var E=f;export{E as default};
27 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-JXYWMXB6.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as l,b as d}from"./chunk-CSZ6CHXI.js";import{a as t}from"./chunk-IGBMENRT.js";import{a as s}from"./chunk-SEE54P6A.js";import{a as f,b as r}from"./chunk-S2577PU4.js";import{e as m}from"./chunk-2TPVVSVW.js";function o(e,n){if(r.typeOf.object("normal",e),!s.equalsEpsilon(t.magnitude(e),1,s.EPSILON6))throw new f("normal must be normalized.");r.typeOf.number("distance",n),this.normal=t.clone(e),this.distance=n}o.fromPointNormal=function(e,n,a){if(r.typeOf.object("point",e),r.typeOf.object("normal",n),!s.equalsEpsilon(t.magnitude(n),1,s.EPSILON6))throw new f("normal must be normalized.");let c=-t.dot(n,e);return m(a)?(t.clone(n,a.normal),a.distance=c,a):new o(n,c)};var b=new t;o.fromCartesian4=function(e,n){r.typeOf.object("coefficients",e);let a=t.fromCartesian4(e,b),c=e.w;if(!s.equalsEpsilon(t.magnitude(a),1,s.EPSILON6))throw new f("normal must be normalized.");return m(n)?(t.clone(a,n.normal),n.distance=c,n):new o(a,c)};o.getPointDistance=function(e,n){return r.typeOf.object("plane",e),r.typeOf.object("point",n),t.dot(e.normal,n)+e.distance};var y=new t;o.projectPointOntoPlane=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("point",n),m(a)||(a=new t);let c=o.getPointDistance(e,n),p=t.multiplyByScalar(e.normal,c,y);return t.subtract(n,p,a)};var w=new d,j=new l,N=new t;o.transform=function(e,n,a){r.typeOf.object("plane",e),r.typeOf.object("transform",n);let c=e.normal,p=e.distance,u=d.inverseTranspose(n,w),i=l.fromElements(c.x,c.y,c.z,p,j);i=d.multiplyByVector(u,i,i);let O=t.fromCartesian4(i,N);return i=l.divideByScalar(i,t.magnitude(O),i),o.fromCartesian4(i,a)};o.clone=function(e,n){return r.typeOf.object("plane",e),m(n)?(t.clone(e.normal,n.normal),n.distance=e.distance,n):new o(e.normal,e.distance)};o.equals=function(e,n){return r.typeOf.object("left",e),r.typeOf.object("right",n),e.distance===n.distance&&t.equals(e.normal,n.normal)};o.ORIGIN_XY_PLANE=Object.freeze(new o(t.UNIT_Z,0));o.ORIGIN_YZ_PLANE=Object.freeze(new o(t.UNIT_X,0));o.ORIGIN_ZX_PLANE=Object.freeze(new o(t.UNIT_Y,0));var T=o;export{T as a};
27 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-S2577PU4.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{e as u}from"./chunk-2TPVVSVW.js";function f(t){this.name="DeveloperError",this.message=t;let e;try{throw new Error}catch(o){e=o.stack}this.stack=e}u(Object.create)&&(f.prototype=Object.create(Error.prototype),f.prototype.constructor=f);f.prototype.toString=function(){let t=`${this.name}: ${this.message}`;return u(this.stack)&&(t+=`
27 | ${this.stack.toString()}`),t};f.throwInstantiationError=function(){throw new f("This function defines an interface and should not be called directly.")};var r=f;var n={};n.typeOf={};function c(t){return`${t} is required, actual value was undefined`}function a(t,e,o){return`Expected ${o} to be typeof ${e}, actual typeof was ${t}`}n.defined=function(t,e){if(!u(e))throw new r(c(t))};n.typeOf.func=function(t,e){if(typeof e!="function")throw new r(a(typeof e,"function",t))};n.typeOf.string=function(t,e){if(typeof e!="string")throw new r(a(typeof e,"string",t))};n.typeOf.number=function(t,e){if(typeof e!="number")throw new r(a(typeof e,"number",t))};n.typeOf.number.lessThan=function(t,e,o){if(n.typeOf.number(t,e),e>=o)throw new r(`Expected ${t} to be less than ${o}, actual value was ${e}`)};n.typeOf.number.lessThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e>o)throw new r(`Expected ${t} to be less than or equal to ${o}, actual value was ${e}`)};n.typeOf.number.greaterThan=function(t,e,o){if(n.typeOf.number(t,e),e<=o)throw new r(`Expected ${t} to be greater than ${o}, actual value was ${e}`)};n.typeOf.number.greaterThanOrEquals=function(t,e,o){if(n.typeOf.number(t,e),e label {
96 | display: table-cell;
97 | font-weight: bold;
98 | }
99 | .cesium-cesiumInspector .field-group > .field {
100 | display: table-cell;
101 | width: 100%;
102 | }
103 |
--------------------------------------------------------------------------------
/js/typhoon/BaseUtils.js:
--------------------------------------------------------------------------------
1 | class BaseUtil {
2 | // 事件监听字典
3 | eventMap = {};
4 |
5 | _visible = false;
6 |
7 | _zIndex = null;
8 |
9 | constructor(config) {
10 | this._zIndex = isNaN(config.zIndex) ? 1 : config.zIndex;
11 | }
12 |
13 | get visible() {
14 | return this._visible;
15 | }
16 |
17 | set visible(val) {
18 | this._visible = !!val;
19 | this._handleVisible(this._visible);
20 | }
21 |
22 | // 提供该方法以保证与高德的图层一致
23 | getVisible() {
24 | return this.visible;
25 | }
26 |
27 | /**
28 | * 显示图层
29 | */
30 | show() {
31 | this.visible = true;
32 | }
33 |
34 | /**
35 | * 隐藏图层
36 | */
37 | hide() {
38 | this.visible = false;
39 | }
40 |
41 | /**
42 | * 处理具体的显示逻辑
43 | * @protected
44 | */
45 | _handleVisible() {
46 | // 子类覆盖
47 | }
48 |
49 | // constructor (config) {
50 | // }
51 |
52 | /**
53 | * @public
54 | * @description 添加监听器
55 | * @param {String} eventType 事件类型
56 | * @param {Function} fn 回调函数
57 | */
58 | addEventListener(eventType, fn) {
59 | if (!this.eventMap[eventType]) {
60 | this.eventMap[eventType] = [];
61 | }
62 | this.eventMap[eventType].push(fn);
63 | return this;
64 | }
65 |
66 | /**
67 | * @public
68 | * @description 添加监听器,addEventListener的别名
69 | * @param {String} eventType 事件名称
70 | * @param {Function} fn 回调函数
71 | */
72 | on(eventType, fn) {
73 | this.addEventListener(eventType, fn);
74 | return this;
75 | }
76 |
77 | /**
78 | * @public
79 | * @description 清除监听器
80 | * @param {String} eventType 事件类型
81 | * @param {Function} fn 回调函数
82 | */
83 | removeEventListener(eventType, fn) {
84 | if (!this.eventMap[eventType]) {
85 | return this;
86 | }
87 | const index = this.eventMap[eventType].findIndex(f => f === fn);
88 | if (index > -1) {
89 | this.eventMap[eventType].splice(index, 1);
90 | }
91 | return this;
92 | }
93 |
94 | /**
95 | * @public
96 | * @description 清除监听器,removeEventListener的别名
97 | * @param {String} eventType 事件类型
98 | * @param {Function} fn 回调函数
99 | */
100 | off(eventType, fn) {
101 | this.removeEventListener(eventType, fn);
102 | return this;
103 | }
104 |
105 | /**
106 | * 派发事件
107 | * @param {String} eventType 事件类型
108 | * @param {Object} eventData 事件内容
109 | */
110 | dispatchEvent(eventType, eventData) {
111 | const fns = this.eventMap[eventType] || [];
112 | for (let i = 0; i < fns.length; i++) {
113 | if (typeof fns[i] === 'function') {
114 | fns[i].apply(fns[i], [eventData, this]);
115 | }
116 | }
117 | return this;
118 | }
119 | }
120 |
121 | export default BaseUtil;
122 |
--------------------------------------------------------------------------------
/js/Cesium/Widgets/CesiumWidget/CesiumWidget.css:
--------------------------------------------------------------------------------
1 | .cesium-widget {
2 | font-family: sans-serif;
3 | font-size: 16px;
4 | overflow: hidden;
5 | display: block;
6 | position: relative;
7 | top: 0;
8 | left: 0;
9 | width: 100%;
10 | height: 100%;
11 | }
12 |
13 | .cesium-widget,
14 | .cesium-widget canvas {
15 | width: 100%;
16 | height: 100%;
17 | touch-action: none;
18 | }
19 |
20 | .cesium-widget-credits {
21 | display: block;
22 | position: absolute;
23 | bottom: 0;
24 | left: 0;
25 | color: #fff;
26 | font-size: 10px;
27 | text-shadow: 0px 0px 2px #000000;
28 | padding-right: 5px;
29 | }
30 |
31 | .cesium-widget-credits a,
32 | .cesium-widget-credits a:visited {
33 | color: #fff;
34 | }
35 |
36 | .cesium-widget-errorPanel {
37 | position: absolute;
38 | top: 0;
39 | right: 0;
40 | bottom: 0;
41 | left: 0;
42 | text-align: center;
43 | background: rgba(0, 0, 0, 0.7);
44 | z-index: 99999;
45 | }
46 |
47 | .cesium-widget-errorPanel:before {
48 | display: inline-block;
49 | vertical-align: middle;
50 | height: 100%;
51 | content: "";
52 | }
53 |
54 | .cesium-widget-errorPanel-content {
55 | width: 75%;
56 | max-width: 500px;
57 | display: inline-block;
58 | text-align: left;
59 | vertical-align: middle;
60 | border: 1px solid #510c00;
61 | border-radius: 7px;
62 | background-color: #f0d9d5;
63 | font-size: 14px;
64 | color: #510c00;
65 | }
66 |
67 | .cesium-widget-errorPanel-content.expanded {
68 | max-width: 75%;
69 | }
70 |
71 | .cesium-widget-errorPanel-header {
72 | font-size: 18px;
73 | font-family: "Open Sans", Verdana, Geneva, sans-serif;
74 | background: #d69d93;
75 | border-bottom: 2px solid #510c00;
76 | padding-bottom: 10px;
77 | border-radius: 3px 3px 0 0;
78 | padding: 15px;
79 | }
80 |
81 | .cesium-widget-errorPanel-scroll {
82 | overflow: auto;
83 | font-family: "Open Sans", Verdana, Geneva, sans-serif;
84 | white-space: pre-wrap;
85 | padding: 0 15px;
86 | margin: 10px 0 20px 0;
87 | }
88 |
89 | .cesium-widget-errorPanel-buttonPanel {
90 | padding: 0 15px;
91 | margin: 10px 0 20px 0;
92 | text-align: right;
93 | }
94 |
95 | .cesium-widget-errorPanel-buttonPanel button {
96 | border-color: #510c00;
97 | background: #d69d93;
98 | color: #202020;
99 | margin: 0;
100 | }
101 | .cesium-widget-errorPanel-buttonPanel button:focus {
102 | border-color: #510c00;
103 | background: #f0d9d5;
104 | color: #510c00;
105 | }
106 | .cesium-widget-errorPanel-buttonPanel button:hover {
107 | border-color: #510c00;
108 | background: #f0d9d5;
109 | color: #510c00;
110 | }
111 | .cesium-widget-errorPanel-buttonPanel button:active {
112 | border-color: #510c00;
113 | background: #b17b72;
114 | color: #510c00;
115 | }
116 |
117 | .cesium-widget-errorPanel-more-details {
118 | text-decoration: underline;
119 | cursor: pointer;
120 | }
121 |
122 | .cesium-widget-errorPanel-more-details:hover {
123 | color: #2b0700;
124 | }
125 |
--------------------------------------------------------------------------------
/static/tiles/small-town/scenetree.json:
--------------------------------------------------------------------------------
1 | {"scenes":[{"children":[{"children":[{"id":"3416a75f4cea9109507cacd8e2f2aefc","name":"Plane001","sphere":[-2349152.75575859,5393358.97730423,2456243.42280969,162.527104733572],"type":"element"},{"id":"a1d0c6e83f027327d8461063f4ac58a6","name":"Box067","sphere":[-2349115.89556037,5393393.92229173,2456230.04488273,37.0170903345033],"type":"element"},{"id":"17e62166fc8586dfa4d1bc0e1742c08b","name":"Box072","sphere":[-2349198.58544016,5393358.84688275,2456255.58343363,76.906216215736],"type":"element"},{"id":"f7177163c833dff4b38fc8d2872f1ec6","name":"Box075","sphere":[-2349198.97874465,5393358.12916721,2456217.92711714,33.6453523576741],"type":"element"},{"id":"6c8349cc7260ae62e3b1396831a8398f","name":"Box076","sphere":[-2349148.14407189,5393380.45826023,2456230.19411781,41.4037964909568],"type":"element"},{"id":"d9d4f495e875a2e075a1a4a6e1b9770f","name":"Box077","sphere":[-2349172.62975753,5393369.79318028,2456230.19411781,43.8897741045491],"type":"element"},{"id":"67c6a1e7ce56d3d6fa748ab6d9af3fd7","name":"Box078","sphere":[-2349147.84238121,5393380.30556791,2456217.18959402,30.7827808553117],"type":"element"},{"id":"642e92efb79421734881b53e1e1b18b6","name":"Box079","sphere":[-2349174.42037518,5393373.87478922,2456219.11567844,43.3046576398627],"type":"element"},{"id":"f457c545a9ded88f18ecee47145a72c0","name":"Box080","sphere":[-2349147.1775849,5393345.90364692,2456280.45873323,122.838163339803],"type":"element"},{"id":"c0c7c76d30bd3dcaefc96f40275bdc0a","name":"Box081","sphere":[-2349159.4371293,5393374.05001658,2456207.42281657,122.838171114497],"type":"element"},{"id":"2838023a778dfaecdc212708f721b788","name":"Box082","sphere":[-2349097.7501643,5393384.1703249,2456243.95214958,81.0719786035522],"type":"element"},{"id":"9a1158154dfa42caddbd0694a4e9bdc8","name":"Box083","sphere":[-2349208.83163923,5393335.7872371,2456243.95214958,81.0719763523499],"type":"element"},{"id":"d82c8d1619ad8176d665453cfb2e55f0","name":"Box085","sphere":[-2349199.62000955,5393358.86237837,2456230.78713508,41.1272373694977],"type":"element"},{"id":"a684eceee76fc522773286a895bc8436","name":"Box086","sphere":[-2349146.57477922,5393365.95235486,2456275.65259881,60.2952006416133],"type":"element"},{"id":"b53b3a3d6ab90ce0268229151c9bde11","name":"Box087","sphere":[-2349121.37923924,5393392.47512363,2456255.58343216,77.4290070297664],"type":"element"},{"id":"9f61408e3afb633e50cdf1b20de6f466","name":"Box088","sphere":[-2349167.21914591,5393347.04380613,2456271.94811156,32.6092857411659],"type":"element"},{"id":"72b32a1f754ba1c09b3695e0cb6cde7f","name":"Box089","sphere":[-2349114.60712694,5393373.89521107,2456273.46476944,42.996917554316],"type":"element"},{"id":"66f041e16a60928b05a7e228a89c3799","name":"Box090","sphere":[-2349189.5756802,5393337.81740783,2456272.11695067,38.8160049946678],"type":"element"}],"id":"093f65e080a295f8076b1c5722a46aa2","name":"city ","sphere":[-2349160.69830069,5393377.04660969,2456251.75968788,200.565434427422],"type":"node"}],"id":"45c48cce2e2d7fbdea1afc51c7c6ad26","name":"town","sphere":[-2349160.69830069,5393377.04660969,2456251.75968788,200.565434427422],"type":"node"}]}
2 |
--------------------------------------------------------------------------------
/js/Cesium/Widgets/BaseLayerPicker/BaseLayerPicker.css:
--------------------------------------------------------------------------------
1 | /* packages/widgets/Source/BaseLayerPicker/BaseLayerPicker.css */
2 | .cesium-baseLayerPicker-selected {
3 | position: absolute;
4 | top: 0;
5 | left: 0;
6 | width: 100%;
7 | height: 100%;
8 | border: none;
9 | }
10 | .cesium-baseLayerPicker-dropDown {
11 | display: block;
12 | position: absolute;
13 | box-sizing: content-box;
14 | top: auto;
15 | right: 0;
16 | width: 320px;
17 | max-height: 500px;
18 | margin-top: 5px;
19 | background-color: rgba(38, 38, 38, 0.75);
20 | border: 1px solid #444;
21 | padding: 6px;
22 | overflow: auto;
23 | border-radius: 10px;
24 | -moz-user-select: none;
25 | -webkit-user-select: none;
26 | -ms-user-select: none;
27 | user-select: none;
28 | transform: translate(0, -20%);
29 | visibility: hidden;
30 | opacity: 0;
31 | transition:
32 | visibility 0s 0.2s,
33 | opacity 0.2s ease-in,
34 | transform 0.2s ease-in;
35 | }
36 | .cesium-baseLayerPicker-dropDown-visible {
37 | transform: translate(0, 0);
38 | visibility: visible;
39 | opacity: 1;
40 | transition: opacity 0.2s ease-out, transform 0.2s ease-out;
41 | }
42 | .cesium-baseLayerPicker-sectionTitle {
43 | display: block;
44 | font-family: sans-serif;
45 | font-size: 16pt;
46 | text-align: left;
47 | color: #edffff;
48 | margin-bottom: 4px;
49 | }
50 | .cesium-baseLayerPicker-choices {
51 | margin-bottom: 5px;
52 | }
53 | .cesium-baseLayerPicker-categoryTitle {
54 | color: #edffff;
55 | font-size: 11pt;
56 | }
57 | .cesium-baseLayerPicker-choices {
58 | display: block;
59 | border: 1px solid #888;
60 | border-radius: 5px;
61 | padding: 5px 0;
62 | }
63 | .cesium-baseLayerPicker-item {
64 | display: inline-block;
65 | vertical-align: top;
66 | margin: 2px 5px;
67 | width: 64px;
68 | text-align: center;
69 | cursor: pointer;
70 | }
71 | .cesium-baseLayerPicker-itemLabel {
72 | display: block;
73 | font-family: sans-serif;
74 | font-size: 8pt;
75 | text-align: center;
76 | vertical-align: middle;
77 | color: #edffff;
78 | cursor: pointer;
79 | word-wrap: break-word;
80 | }
81 | .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemLabel,
82 | .cesium-baseLayerPicker-item:focus .cesium-baseLayerPicker-itemLabel {
83 | text-decoration: underline;
84 | }
85 | .cesium-baseLayerPicker-itemIcon {
86 | display: inline-block;
87 | position: relative;
88 | width: inherit;
89 | height: auto;
90 | background-size: 100% 100%;
91 | border: solid 1px #444;
92 | border-radius: 9px;
93 | color: #edffff;
94 | margin: 0;
95 | padding: 0;
96 | cursor: pointer;
97 | box-sizing: border-box;
98 | }
99 | .cesium-baseLayerPicker-item:hover .cesium-baseLayerPicker-itemIcon {
100 | border-color: #fff;
101 | box-shadow: 0 0 8px #fff, 0 0 8px #fff;
102 | }
103 | .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemLabel {
104 | color: rgb(189, 236, 248);
105 | }
106 | .cesium-baseLayerPicker-selectedItem .cesium-baseLayerPicker-itemIcon {
107 | border: double 4px rgb(189, 236, 248);
108 | }
109 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-C7N6QFQY.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as g,b as d}from"./chunk-4NBDOIVA.js";import{c as R}from"./chunk-CSZ6CHXI.js";import{b as p,c as O}from"./chunk-IGBMENRT.js";import{a as w}from"./chunk-LU3FCBPP.js";import{b as m}from"./chunk-S2577PU4.js";import{e as f}from"./chunk-2TPVVSVW.js";function o(i,h,n,t){this.x=w(i,0),this.y=w(h,0),this.width=w(n,0),this.height=w(t,0)}o.packedLength=4;o.pack=function(i,h,n){return m.typeOf.object("value",i),m.defined("array",h),n=w(n,0),h[n++]=i.x,h[n++]=i.y,h[n++]=i.width,h[n]=i.height,h};o.unpack=function(i,h,n){return m.defined("array",i),h=w(h,0),f(n)||(n=new o),n.x=i[h++],n.y=i[h++],n.width=i[h++],n.height=i[h],n};o.fromPoints=function(i,h){if(f(h)||(h=new o),!f(i)||i.length===0)return h.x=0,h.y=0,h.width=0,h.height=0,h;let n=i.length,t=i[0].x,c=i[0].y,e=i[0].x,y=i[0].y;for(let x=1;xn.width?n.width=t:t<0&&(n.width-=t,n.x=h.x),c>n.height?n.height=c:c<0&&(n.height-=c,n.y=h.y),n};o.intersect=function(i,h){m.typeOf.object("left",i),m.typeOf.object("right",h);let n=i.x,t=i.y,c=h.x,e=h.y;return n>c+h.width||n+i.widthe+h.height?d.OUTSIDE:d.INTERSECTING};o.equals=function(i,h){return i===h||f(i)&&f(h)&&i.x===h.x&&i.y===h.y&&i.width===h.width&&i.height===h.height};o.prototype.clone=function(i){return o.clone(this,i)};o.prototype.intersect=function(i){return o.intersect(this,i)};o.prototype.equals=function(i){return o.equals(this,i)};var S=o;export{S as a};
27 |
--------------------------------------------------------------------------------
/js/Cesium/Widgets/CesiumInspector/CesiumInspector.css:
--------------------------------------------------------------------------------
1 | /* packages/widgets/Source/CesiumInspector/CesiumInspector.css */
2 | .cesium-cesiumInspector {
3 | border-radius: 5px;
4 | transition: width ease-in-out 0.25s;
5 | background: rgba(48, 51, 54, 0.8);
6 | border: 1px solid #444;
7 | color: #edffff;
8 | display: inline-block;
9 | position: relative;
10 | padding: 4px 12px;
11 | -moz-user-select: none;
12 | -webkit-user-select: none;
13 | -ms-user-select: none;
14 | user-select: none;
15 | overflow: hidden;
16 | }
17 | .cesium-cesiumInspector-button {
18 | text-align: center;
19 | font-size: 11pt;
20 | }
21 | .cesium-cesiumInspector-visible .cesium-cesiumInspector-button {
22 | border-bottom: 1px solid #aaa;
23 | padding-bottom: 3px;
24 | }
25 | .cesium-cesiumInspector input:enabled,
26 | .cesium-cesiumInspector-button {
27 | cursor: pointer;
28 | }
29 | .cesium-cesiumInspector-visible {
30 | width: 185px;
31 | height: auto;
32 | }
33 | .cesium-cesiumInspector-hidden {
34 | width: 122px;
35 | height: 17px;
36 | }
37 | .cesium-cesiumInspector-sectionContent {
38 | max-height: 600px;
39 | }
40 | .cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionContent {
41 | max-height: 0;
42 | padding: 0 !important;
43 | overflow: hidden;
44 | }
45 | .cesium-cesiumInspector-dropDown {
46 | margin: 5px 0;
47 | font-family: sans-serif;
48 | font-size: 10pt;
49 | width: 185px;
50 | }
51 | .cesium-cesiumInspector-frustumStatistics {
52 | padding-left: 10px;
53 | padding: 5px;
54 | background-color: rgba(80, 80, 80, 0.75);
55 | }
56 | .cesium-cesiumInspector-pickButton {
57 | background-color: rgba(0, 0, 0, 0.3);
58 | border: 1px solid #444;
59 | color: #edffff;
60 | border-radius: 5px;
61 | padding: 3px 7px;
62 | cursor: pointer;
63 | -moz-user-select: none;
64 | -webkit-user-select: none;
65 | -ms-user-select: none;
66 | user-select: none;
67 | margin: 0 auto;
68 | }
69 | .cesium-cesiumInspector-pickButton:focus {
70 | outline: none;
71 | }
72 | .cesium-cesiumInspector-pickButton:active,
73 | .cesium-cesiumInspector-pickButtonHighlight {
74 | color: #000;
75 | background: #adf;
76 | border-color: #fff;
77 | box-shadow: 0 0 8px #fff;
78 | }
79 | .cesium-cesiumInspector-center {
80 | text-align: center;
81 | }
82 | .cesium-cesiumInspector-sectionHeader {
83 | font-weight: bold;
84 | font-size: 10pt;
85 | margin: 0;
86 | cursor: pointer;
87 | }
88 | .cesium-cesiumInspector-pickSection {
89 | border: 1px solid #aaa;
90 | border-radius: 5px;
91 | padding: 3px;
92 | margin-bottom: 5px;
93 | }
94 | .cesium-cesiumInspector-sectionContent {
95 | margin-bottom: 10px;
96 | transition: max-height 0.25s;
97 | }
98 | .cesium-cesiumInspector-tileText {
99 | padding-bottom: 10px;
100 | border-bottom: 1px solid #aaa;
101 | }
102 | .cesium-cesiumInspector-relativeText {
103 | padding-top: 10px;
104 | }
105 | .cesium-cesiumInspector-sectionHeader::before {
106 | margin-right: 5px;
107 | content: "-";
108 | width: 1ch;
109 | display: inline-block;
110 | }
111 | .cesium-cesiumInspector-section-collapsed .cesium-cesiumInspector-sectionHeader::before {
112 | content: "+";
113 | }
114 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/createPlaneGeometry.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as m}from"./chunk-GNOHI6CF.js";import{a as b}from"./chunk-LIAARPDW.js";import{b as v,c as x,d as p}from"./chunk-PRRW7QSP.js";import{d as A}from"./chunk-4NBDOIVA.js";import"./chunk-YIJHUUZY.js";import"./chunk-CSZ6CHXI.js";import{a as c}from"./chunk-XXK6IR5Y.js";import{a as y}from"./chunk-IGBMENRT.js";import"./chunk-SEE54P6A.js";import"./chunk-JNX2URIY.js";import"./chunk-4Z3GDVJK.js";import{a as i}from"./chunk-LU3FCBPP.js";import{b as u}from"./chunk-S2577PU4.js";import{e as f}from"./chunk-2TPVVSVW.js";function s(r){r=i(r,i.EMPTY_OBJECT);let e=i(r.vertexFormat,m.DEFAULT);this._vertexFormat=e,this._workerName="createPlaneGeometry"}s.packedLength=m.packedLength;s.pack=function(r,e,o){return u.typeOf.object("value",r),u.defined("array",e),o=i(o,0),m.pack(r._vertexFormat,e,o),e};var d=new m,P={vertexFormat:d};s.unpack=function(r,e,o){u.defined("array",r),e=i(e,0);let a=m.unpack(r,e,d);return f(o)?(o._vertexFormat=m.clone(a,o._vertexFormat),o):new s(P)};var F=new y(-.5,-.5,0),l=new y(.5,.5,0);s.createGeometry=function(r){let e=r._vertexFormat,o=new b,a,n;if(e.position){if(n=new Float64Array(4*3),n[0]=F.x,n[1]=F.y,n[2]=0,n[3]=l.x,n[4]=F.y,n[5]=0,n[6]=l.x,n[7]=l.y,n[8]=0,n[9]=F.x,n[10]=l.y,n[11]=0,o.position=new p({componentDatatype:c.DOUBLE,componentsPerAttribute:3,values:n}),e.normal){let t=new Float32Array(12);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=1,t[9]=0,t[10]=0,t[11]=1,o.normal=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.st){let t=new Float32Array(8);t[0]=0,t[1]=0,t[2]=1,t[3]=0,t[4]=1,t[5]=1,t[6]=0,t[7]=1,o.st=new p({componentDatatype:c.FLOAT,componentsPerAttribute:2,values:t})}if(e.tangent){let t=new Float32Array(12);t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t[6]=1,t[7]=0,t[8]=0,t[9]=1,t[10]=0,t[11]=0,o.tangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}if(e.bitangent){let t=new Float32Array(12);t[0]=0,t[1]=1,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=1,t[8]=0,t[9]=0,t[10]=1,t[11]=0,o.bitangent=new p({componentDatatype:c.FLOAT,componentsPerAttribute:3,values:t})}a=new Uint16Array(2*3),a[0]=0,a[1]=1,a[2]=2,a[3]=0,a[4]=2,a[5]=3}return new x({attributes:o,indices:a,primitiveType:v.TRIANGLES,boundingSphere:new A(y.ZERO,Math.sqrt(2))})};var w=s;function h(r,e){return f(e)&&(r=w.unpack(r,e)),w.createGeometry(r)}var M=h;export{M as default};
27 |
--------------------------------------------------------------------------------
/js/utils/time.js:
--------------------------------------------------------------------------------
1 | /**
2 | *
3 | * @description 计算具体的年月日信息
4 | * @param {Date} time
5 | * @returns
6 | */
7 | export const getTimeDetial = time => {
8 | const year = time.getFullYear();
9 | const month = time.getMonth() + 1;
10 | // 获取日期
11 | const day = time.getDate(); // 返回两位数字表示的日期(如31表示三十一号)
12 |
13 | // 获取小时
14 | const hour = time.getHours(); // 返回两位数字表示的小时(如15表示下午三点)
15 |
16 | // 获取分钟
17 | const minute = time.getMinutes(); // 返回两位数字表示的分钟(如45表示四十五分钟)
18 |
19 | // 获取秒数
20 | const second = time.getSeconds() + 1; // 返回两位数字表示的秒数(如30表示三十秒)
21 |
22 | // 获取星期(注意星期天为0,星期六为6)
23 | const weekday = time.getDay(); // 返回一个数字表示的星期几(如0表示星期天,1表示星期一,以此类推)
24 |
25 | const weekdayMap = ['星期天', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
26 |
27 | const res = {
28 | year,
29 | month,
30 | day,
31 | hour,
32 | minute,
33 | second,
34 | weekday: weekdayMap[weekday]
35 | };
36 | Object.keys(res).forEach(key => {
37 | if (res[key] < 10) {
38 | res[key] = `0${res[key]}`;
39 | }
40 | });
41 |
42 | return res;
43 | };
44 |
45 | /**
46 | *
47 | * @description 进程睡眠ms毫秒
48 | * @param {number} ms
49 | * @returns
50 | */
51 | export const sleep = ms => {
52 | return new Promise(resolve => {
53 | setTimeout(resolve, ms);
54 | });
55 | };
56 |
57 |
58 | /**
59 | * 获取当前星期
60 | * @returns {string}
61 | */
62 | export function getCurrentDayOfWeek() {
63 | const daysOfWeek = ['星期日', '星期一', '星期二', '星期三', '星期四', '星期五', '星期六'];
64 | const date = new Date();
65 | const dayIndex = date.getDay();
66 | return daysOfWeek[dayIndex];
67 | }
68 |
69 |
70 | /**
71 | * 获取当前年月日
72 | * @returns {string}
73 | */
74 | export function getCurrentDate() {
75 | const date = new Date();
76 | const year = date.getFullYear();
77 | const month = String(date.getMonth() + 1).padStart(2, '0');
78 | const day = String(date.getDate()).padStart(2, '0');
79 | return `${year}-${month}-${day}`;
80 | }
81 |
82 |
83 | /**
84 | * 将字符串时间转换为北京时间,比如"202407260900"转化为"2024/07/26 17:00"
85 | * @param gmtTimeStr
86 | * @returns {string}
87 | */
88 | export function convertGMTToBeijingTime(gmtTimeStr, fhour = 0) {
89 | const date = new Date(gmtTimeStr.slice(0, 4), gmtTimeStr.slice(4, 6), gmtTimeStr.slice(6, 8), gmtTimeStr.slice(8, 10), gmtTimeStr.slice(10));
90 | const offsetInMillis = (fhour + 8) * 60 * 60 * 1000;
91 | const beijingDate = new Date(date.getTime() + offsetInMillis);
92 |
93 | const year = beijingDate.getFullYear();
94 | const month = beijingDate.getMonth().toString().padStart(2, '0');
95 | const day = beijingDate.getDate().toString().padStart(2, '0');
96 | const hours = beijingDate.getHours().toString().padStart(2, '0');
97 | const minutes = beijingDate.getMinutes().toString().padStart(2, '0');
98 |
99 | return `${year}/${month}/${day} ${hours}:${minutes}`;
100 | }
101 |
102 | /**
103 | * 获取当前时刻 hh:mm:ss
104 | * @returns {string}
105 | */
106 | export function getCurrentMonent() {
107 | const {hour, minute, second} = getTimeDetial(new Date());
108 | return `${hour}:${minute}:${second}`;
109 | }
110 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-IOZLAVEQ.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{a as O}from"./chunk-4NBDOIVA.js";import{c as I,d as V}from"./chunk-CSZ6CHXI.js";import{a as W,b as v}from"./chunk-IGBMENRT.js";import{a as R}from"./chunk-SEE54P6A.js";import{a as k}from"./chunk-S2577PU4.js";import{e as N}from"./chunk-2TPVVSVW.js";var z=Math.cos,Z=Math.sin,D=Math.sqrt,L={};L.computePosition=function(t,_,l,h,G,u,a){let e=_.radiiSquared,i=t.nwCorner,r=t.boundingRectangle,n=i.latitude-t.granYCos*h+G*t.granXSin,X=z(n),Y=Z(n),d=e.z*Y,s=i.longitude+h*t.granYSin+G*t.granXCos,S=X*z(s),f=X*Z(s),w=e.x*S,m=e.y*f,M=D(w*S+m*f+d*Y);if(u.x=w/M,u.y=m/M,u.z=d/M,l){let o=t.stNwCorner;N(o)?(n=o.latitude-t.stGranYCos*h+G*t.stGranXSin,s=o.longitude+h*t.stGranYSin+G*t.stGranXCos,a.x=(s-t.stWest)*t.lonScalar,a.y=(n-t.stSouth)*t.latScalar):(a.x=(s-r.west)*t.lonScalar,a.y=(n-r.south)*t.latScalar)}};var A=new V,g=new W,F=new v,b=new W,q=new O;function B(t,_,l,h,G,u,a){let e=Math.cos(_),i=h*e,r=l*e,n=Math.sin(_),X=h*n,Y=l*n;g=q.project(t,g),g=W.subtract(g,b,g);let d=V.fromRotation(_,A);g=V.multiplyByVector(d,g,g),g=W.add(g,b,g),t=q.unproject(g,t),u-=1,a-=1;let s=t.latitude,S=s+u*Y,f=s-i*a,w=s-i*a+u*Y,m=Math.max(s,S,f,w),M=Math.min(s,S,f,w),o=t.longitude,y=o+u*r,T=o+a*X,E=o+a*X+u*r,j=Math.max(o,y,T,E),x=Math.min(o,y,T,E);return{north:m,south:M,east:j,west:x,granYCos:i,granYSin:X,granXCos:r,granXSin:Y,nwCorner:t}}L.computeOptions=function(t,_,l,h,G,u,a){let e=t.east,i=t.west,r=t.north,n=t.south,X=!1,Y=!1;r===R.PI_OVER_TWO&&(X=!0),n===-R.PI_OVER_TWO&&(Y=!0);let d,s=r-n;i>e?d=R.TWO_PI-i+e:d=e-i;let S=Math.ceil(d/_)+1,f=Math.ceil(s/_)+1,w=d/(S-1),m=s/(f-1),M=I.northwest(t,u),o=I.center(t,F);(l!==0||h!==0)&&(o.longitudeR.PI_OVER_TWO||n<-R.PI_OVER_TWO||n>R.PI_OVER_TWO)throw new k("Rotated rectangle is invalid. It crosses over either the north or south pole.");c.granYCos=C.granYCos,c.granYSin=C.granYSin,c.granXCos=C.granXCos,c.granXSin=C.granXSin,x.north=r,x.south=n,x.east=e,x.west=i}if(h!==0){l=l-h;let C=I.northwest(x,a),P=B(C,l,w,m,o,S,f);c.stGranYCos=P.granYCos,c.stGranXCos=P.granXCos,c.stGranYSin=P.granYSin,c.stGranXSin=P.granXSin,c.stNwCorner=C,c.stWest=P.west,c.stSouth=P.south}return c};var nt=L;export{nt as a};
27 |
--------------------------------------------------------------------------------
/js/Cesium/Workers/chunk-JGZRKYSE.js:
--------------------------------------------------------------------------------
1 | /**
2 | * @license
3 | * Cesium - https://github.com/CesiumGS/cesium
4 | * Version 1.114
5 | *
6 | * Copyright 2011-2022 Cesium Contributors
7 | *
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | *
20 | * Columbus View (Pat. Pend.)
21 | *
22 | * Portions licensed separately.
23 | * See https://github.com/CesiumGS/cesium/blob/main/LICENSE.md for full licensing details.
24 | */
25 |
26 | import{f as C}from"./chunk-4NBDOIVA.js";import{a as n,e as b}from"./chunk-IGBMENRT.js";import{a as w}from"./chunk-SEE54P6A.js";var j={},q=new n,L=new n,Q=new C,G=new b;function W(m,O,p,S,g,_,d,f,M,s){let a=m+O;n.multiplyByScalar(S,Math.cos(a),q),n.multiplyByScalar(p,Math.sin(a),L),n.add(q,L,q);let u=Math.cos(m);u=u*u;let l=Math.sin(m);l=l*l;let h=_/Math.sqrt(d*u+g*l)/f;return C.fromAxisAngle(q,h,Q),b.fromQuaternion(Q,G),b.multiplyByVector(G,M,s),n.normalize(s,s),n.multiplyByScalar(s,f,s),s}var U=new n,Z=new n,N=new n,v=new n;j.raisePositionsToHeight=function(m,O,p){let S=O.ellipsoid,g=O.height,_=O.extrudedHeight,d=p?m.length/3*2:m.length/3,f=new Float64Array(d*3),M=m.length,s=p?M:0;for(let a=0;a1;--I){if(y=w.PI_OVER_TWO-(I-1)*P,t=W(-y,_,h,r,M,a,s,u,l,t),i=W(y+Math.PI,_,h,r,M,a,s,u,l,i),O){for(e[o++]=t.x,e[o++]=t.y,e[o++]=t.z,R=2*(I-1)+2,T=1;T