var CustomCesium;
(() => {
    "use strict";
    var __webpack_modules__ = {
        117: (__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
            __webpack_require__.d(__webpack_exports__, {Z: () => Radar});

            class Radar {
                constructor(e) {
                    this.viewer = e.viewer, this.icy = e, this.entity = null, this.entity1 = null, this.timer = null
                }

                add(positions, color, coneData, canvas, coneId, billboardId) {
                    this.entity = this.viewer.entities.add({
                        position: Cesium.Cartesian3.fromDegrees(positions[0], positions[1], positions[2]),
                        name: "圆锥",
                        id: coneId,
                        cylinder: {
                            length: coneData.height,
                            topRadius: 0,
                            bottomRadius: coneData.width,
                            disableDepthTestDistance: 5e5,
                            material: new CircleRippleMaterialProperty({
                                color: new Cesium.Color.fromCssColorString(color),
                                speed: 10,
                                count: 3,
                                gradient: .5
                            })
                        }
                    });
                    let imgUrl = new Image;
                    imgUrl.src = canvas.toDataURL("image/jpg"), imgUrl.style.borderRadius = "20px", this.entity1 = this.viewer.entities.add({
                        name: "聚集铭牌",
                        id: billboardId,
                        position: Cesium.Cartesian3.fromDegrees(positions[0], positions[1], eval(positions[2] + coneData.height / 2)),
                        billboard: {
                            image: imgUrl,
                            show: !0,
                            sizeInMeters: !1,
                            scaleByDistance: new Cesium.NearFarScalar(0, .5, 1e7, .5),
                            // disableDepthTestDistance: Number.POSITIVE_INFINITY,
                            horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                            verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                            disableDepthTestDistance: 5e5,
                            scale: 1
                        }
                    }), this.animate()
                }

                animate() {
                    let e = 0;
                    this.timer = setInterval((() => {
                        this.entity1.billboard.scale >= 1.5 ? e = 1 : this.entity1.billboard.scale <= 1 && (e = 0), 0 == e ? this.entity1.billboard.scale += .05 : this.entity1.billboard.scale -= .05
                    }), 50)
                }

                show(e) {
                    this.entity.show = e, this.entity1.show = e, e ? this.animate() : clearInterval(this.timer)
                }

                destroy() {
                    clearInterval(this.timer), this.icy.viewer.entities.remove(this.entity), this.entity = void 0, this.icy.viewer.entities.remove(this.entity1), this.entity1 = void 0
                }
            }

            function CircleRippleMaterialProperty(e) {
                this._definitionChanged = new Cesium.Event, this._color = void 0, this._speed = void 0, this.color = e.color, this.speed = e.speed, this.count = e.count, this.gradient = e.gradient
            }

            CircleRippleMaterialProperty.prototype = {
                get isConstant() {
                    return !1
                }, get definitionChanged() {
                    return this._definitionChanged
                }, getType: function (e) {
                    return Cesium.Material.CircleRippleMaterialType
                }, getValue: function (e, t) {
                    return Cesium.defined(t) || (t = {}), t.color = Cesium.Property.getValueOrDefault(this._color, e, Cesium.Color.RED, t.color), t.speed = Cesium.Property.getValueOrDefault(this._speed, e, 10, t.speed), t.count = this.count, t.gradient = this.gradient, t
                }, equals: function (e) {
                    return this === e || e instanceof CircleRippleMaterialProperty && Cesium.Property.equals(this._color, e._color) && Cesium.Property.equals(this._speed, e._speed) && Cesium.Property.equals(this.count, e.count) && Cesium.Property.equals(this.gradient, e.gradient)
                }
            }, Object.defineProperties(CircleRippleMaterialProperty.prototype, {
                color: Cesium.createPropertyDescriptor("color"),
                speed: Cesium.createPropertyDescriptor("speed"),
                count: Cesium.createPropertyDescriptor("count"),
                gradient: Cesium.createPropertyDescriptor("gradient")
            }), Cesium.CircleRippleMaterialProperty = CircleRippleMaterialProperty, Cesium.Material.CircleRippleMaterialProperty = "CircleRippleMaterialProperty", Cesium.Material.CircleRippleMaterialType = "CircleRippleMaterialType", Cesium.Material.CircleRippleMaterialSource = "\nuniform vec4 color;\nuniform float speed;\nuniform float count;\nuniform float gradient;\n\nczm_material czm_getMaterial(czm_materialInput materialInput) {\n  czm_material material = czm_getDefaultMaterial(materialInput);\n  material.diffuse = 1.2 * color.rgb;\n  vec2 st = materialInput.st;\n  float dis = distance(st, vec2(0.5, 0.5));\n  float per = fract(czm_frameNumber * speed / 1000.0);\n  if(count == 1.0){\n      if(dis > per * 0.5){\n        discard;\n      }else {\n        material.alpha = color.a  * dis / per / 2.0;\n      }\n  } else {\n      vec3 str = materialInput.str;\n      if(abs(str.z)  > 0.001){\n        discard;\n      }\n      if(dis > 0.5){\n        discard;\n      } else {\n        float perDis = 0.5 / count;\n        float disNum;\n        float bl = 0.0;\n        for(int i = 0; i <= 999; i++){\n            if(float(i) <= count){\n              disNum = perDis * float(i) - dis + per / count;\n              if(disNum > 0.0){\n                  if(disNum < perDis){\n                    bl = 1.0 - disNum / perDis;\n                  } else if(disNum - perDis < perDis){\n                    bl = 1.0 - abs(1.0 - disNum / perDis);\n                  }\n                  material.alpha = pow(bl,(1.0 + 10.0 * (1.0 - gradient)));\n              }\n            }\n        }\n      }\n  }\n  return material;\n}\n", Cesium.Material._materialCache.addMaterial(Cesium.Material.CircleRippleMaterialType, {
                fabric: {
                    type: Cesium.Material.CircleRippleMaterialType,
                    uniforms: {
                        color: new Cesium.Color.fromCssColorString("#ffffff00"),
                        speed: 3,
                        count: 4,
                        gradient: .2
                    },
                    source: Cesium.Material.CircleRippleMaterialSource
                }, translucent: function (e) {
                    return !0
                }
            })
        }
    }, __webpack_module_cache__ = {};

    function __webpack_require__(e) {
        var t = __webpack_module_cache__[e];
        if (void 0 !== t) return t.exports;
        var i = __webpack_module_cache__[e] = {exports: {}};
        return __webpack_modules__[e](i, i.exports, __webpack_require__), i.exports
    }

    __webpack_require__.d = (e, t) => {
        for (var i in t) __webpack_require__.o(t, i) && !__webpack_require__.o(e, i) && Object.defineProperty(e, i, {
            enumerable: !0,
            get: t[i]
        })
    }, __webpack_require__.o = (e, t) => Object.prototype.hasOwnProperty.call(e, t), __webpack_require__.r = e => {
        "undefined" != typeof Symbol && Symbol.toStringTag && Object.defineProperty(e, Symbol.toStringTag, {value: "Module"}), Object.defineProperty(e, "__esModule", {value: !0})
    };
    var __webpack_exports__ = {};
    (() => {
        __webpack_require__.r(__webpack_exports__), __webpack_require__.d(__webpack_exports__, {
            BulletinBoard: () => k,
            Carmer: () => r,
            Cone: () => z.Z,
            EarlyWarning: () => A,
            EditGltf: () => I,
            Enclosure: () => D,
            GroupModel: () => S,
            HumanModel: () => E,
            Line: () => O,
            Model: () => M,
            ModelDrag: () => b,
            Mouse: () => s,
            Radar: () => F,
            Scene: () => i,
            Tiles3D: () => n
        });

        class e {
            constructor(e) {
                this._definitionChanged = new Cesium.Event, this._color = void 0, this.color = e.color
            }

            get isConstant() {
                return !1
            }

            get definitionChanged() {
                return this._definitionChanged
            }

            getType(e) {
                return Cesium.Material.WallDiffuseMaterialType
            }

            getValue(e, t) {
                return Cesium.defined(t) || (t = {}), t.color = Cesium.Property.getValueOrDefault(this._color, e, Cesium.Color.RED, t.color), t
            }

            equals(t) {
                return this === t || t instanceof e && Cesium.Property.equals(this._color, t._color)
            }
        }

        class t {
            constructor() {
            }

            static tileXYToQuadKey(e, t, i) {
                for (var r = "", n = i; n >= 0; --n) {
                    var s = 1 << n, a = 0;
                    0 != (e & s) && (a |= 1), 0 != (t & s) && (a |= 2), r += a
                }
                return "0" === r[0] && (r = r.substr(1)), r
            }

            static Cartesian3ToWGS84(e, t) {
                var i = e.scene.globe.ellipsoid.cartesianToCartographic(t);
                return [Cesium.Math.toDegrees(i.longitude), Cesium.Math.toDegrees(i.latitude), i.height]
            }

            static
        }

        Cesium.WebMercatorTilingScheme;

        class i {
            static google_mapResources = new Cesium.UrlTemplateImageryProvider({
                url: "https://mt1.google.com/vt/lyrs=s&x={x}&y={y}&z={z}",
                credit: "谷歌影像服务"
            });
            static tiandi_mapResources = new Cesium.UrlTemplateImageryProvider({
                url: "https://ecn.t{s}.tiles.virtualearth.net/tiles/a{q}.jpeg?n=z&g=11404",
                subdomains: ["0", "1", "2", "3"],
                tilingScheme: new Cesium.WebMercatorTilingScheme,
                customTags: {
                    q: function (e, i, r, n) {
                        return t.tileXYToQuadKey(i, r, n)
                    }
                },
                minimumLevel: 3,
                maximumLevel: 19
            });
            static gaode_mapResources = new Cesium.UrlTemplateImageryProvider({
                url: "https://webst02.is.autonavi.com/appmaptile?style=6&x={x}&y={y}&z={z}",
                minimumLevel: 3,
                maximumLevel: 18
            });

            constructor(e, t, r, n) {
                if (this.icy = {viewer: void 0, name: t}, 1 == r) {
                    let t = new Cesium.UrlTemplateImageryProvider({
                        url: n,
                        fileExtension: "png",
                        minimumLevel: 0,
                        maximumLevel: 19,
                        tilingScheme: new Cesium.WebMercatorTilingScheme
                    });
                    this.init(e, t, 50)
                }
                2 == r && this.init(e, i.google_mapResources, 50), 3 == r && this.init(e, i.tiandi_mapResources, 50), 4 == r && this.init(e, i.gaode_mapResources, 50), 5 == r && this.init(e, void 0, 50)
            }

            getIcy() {
                return this.icy
            }

            init(e, t, i = 50) {
                this.icy.viewer = new Cesium.Viewer(e, {
                    targetFrameRate: i,
                    imageryProvider: t,
                    animation: !1,
                    timeline: !1,
                    geocoder: !1,
                    homeButton: !1,
                    sceneModePicker: !1,
                    baseLayerPicker: !1,
                    navigationHelpButton: !1,
                    fullscreenButton: !1
                }), this.icy.viewer.scene.mode, Cesium.SceneMode.COLUMBUS_VIEW, this.icy.viewer.scene.screenSpaceCameraController.enableTilt = !0, this.icy.viewer._cesiumWidget._creditContainer.style.display = "none", this.icy.viewer.scene.globe.depthTestAgainstTerrain = !0, this.icy.viewer.scene.sampleHeightSupported || window.alert("浏览器不支持 sampleHeight."), this.icy.viewer.scene.pickPositionSupported || window.alert("不支持深度纹理,无法绘制多边形,地形开挖功能无法使用!"), this.icy.viewer.scene.globe.enableLighting = !1, this.icy.viewer.shadows = !1, this.icy.viewer.scene.globe.fillHighlightColor = 1, this.icy.viewer.scene.postProcessStages.fxaa.enabled = !0, this.fPSShow(!0), this.initMaterial();
            }

            fPSShow(e) {
                this.icy.viewer.scene.debugShowFramesPerSecond = e
            }

            destroy() {
                this.icy.iewer.destroy(), this.icy = void 0
            }

            initMaterial() {
                Cesium.WallDiffuseMaterialProperty || (Object.defineProperties(e.prototype, {color: Cesium.createPropertyDescriptor("color")}), Cesium.WallDiffuseMaterialProperty = e, Cesium.Material.WallDiffuseMaterialProperty = "WallDiffuseMaterialProperty", Cesium.Material.WallDiffuseMaterialType = "WallDiffuseMaterialType", Cesium.Material.WallDiffuseMaterialSource = "\n            uniform vec4 color;\n            czm_material czm_getMaterial(czm_materialInput materialInput){\n            czm_material material = czm_getDefaultMaterial(materialInput);\n                vec2 st = materialInput.st;\n                material.diffuse = color.rgb * 2.0;\n                material.alpha = color.a * (1.0 - fract(st.t)) * 0.8;\n                return material;\n            }                                                \n            ", Cesium.Material._materialCache.addMaterial(Cesium.Material.WallDiffuseMaterialType, {
                    fabric: {
                        type: Cesium.Material.WallDiffuseMaterialType,
                        uniforms: {color: new Cesium.Color(1, 0, 0, 1)},
                        source: Cesium.Material.WallDiffuseMaterialSource
                    }, translucent: function (e) {
                        return !0
                    }
                }))
            }
        }

        class r {
            constructor(e) {
                this.icy = e
            }

            flyTo({maxHeight: e, time: t, position: i, angle: r}) {
                3 == i.length ? (e || (e = 10), t && 0 != t || (t = 3), this.icy.viewer.camera.flyTo({
                    destination: Cesium.Cartesian3.fromDegrees(i[0], i[1], i[2]),
                    duration: t,
                    maximumHeight: e,
                    orientation: {
                        heading: Cesium.Math.toRadians(r[0]),
                        pitch: Cesium.Math.toRadians(r[1]),
                        roll: Cesium.Math.toRadians(r[2])
                    }
                })) : console.log("相机飞行请传入经纬高")
            }

            flyToInfo({maxHeight: e, time: t, position: i, angle: r}) {
                3 == i.length ? (e || (e = 10), t && 0 != t || (t = 3), this.icy.viewer.camera.flyTo({
                    destination: new Cesium.Cartesian3(i[0], i[1], i[2]),
                    duration: t,
                    maximumHeight: e,
                    orientation: {heading: r.heading, pitch: r.pitch, roll: r.roll}
                })) : console.log("相机飞行请传入经纬高")
            }

            teleporting(e) {
                if (6 != e.length) throw"相机跳转参数错误,请检查传入参数";
                icy.viewer.camera.setView({
                    destination: {x: e[0], y: e[1], z: e[2]},
                    orientation: {heading: e[3], pitch: e[4], roll: e[5]}
                })
            }

            follow({angle: e, targetPoint: t, distance: i}, r) {
                let n = turf.point([t[0], t[1]]), s = -e[0], a = turf.rhumbDestination(n, i, s, {units: "kilometers"});
                this.flyTo({
                    maxHeight: 20,
                    time: r,
                    position: [a.geometry.coordinates[0], a.geometry.coordinates[1], t[2]],
                    angle: e
                })
            }

            getgGsture() {
                console.log("当前相机姿态输出");
                let e = this.icy.viewer.camera.heading, t = this.icy.viewer.camera.pitch,
                    i = this.icy.viewer.camera.roll, r = this.icy.viewer.camera.positionWC;
                console.log(`destination:{x:${r.x},y:${r.y},z:${r.z}},orientation:{heading:${e},pitch:${t},roll:${i}}`)
            }

            changeView(e) {
                if ("2D" == e) {
                    let e = this.getCenterPoint(this.icy.viewer);
                    this.icy.viewer.scene.camera.flyTo({
                        destination: Cesium.Cartesian3.fromDegrees(e[0], e[1], 2e3),
                        orientation: {
                            heading: this.icy.viewer.scene.camera.heading,
                            pitch: Cesium.Math.toRadians(-90),
                            roll: 0
                        }
                    }), this.icy.viewer.scene.screenSpaceCameraController.enableTilt = !1
                }
                if ("3D" == e) {
                    let e = 0, t = setInterval((() => {
                        e += 5, this.icy.viewer.scene.camera.moveDown(5), e >= 2e3 && (clearInterval(t), setTimeout((() => {
                            this.icy.viewer.scene.camera.flyTo({
                                destination: this.icy.viewer.scene.camera.positionWC,
                                orientation: {
                                    heading: this.icy.viewer.scene.camera.heading,
                                    pitch: Cesium.Math.toRadians(-45),
                                    roll: 0
                                }
                            })
                        }), 100))
                    }));
                    this.icy.viewer.scene.screenSpaceCameraController.enableTilt = !0
                }
            }

            getCenterPoint(e) {
                let t = e.camera.pickEllipsoid(new Cesium.Cartesian2(e.canvas.clientWidth / 2, e.canvas.clientHeight / 2)),
                    i = Cesium.Ellipsoid.WGS84.cartesianToCartographic(t);
                return [180 * i.longitude / Math.PI, 180 * i.latitude / Math.PI]
            }

            getBottomCenterPoint(e) {
                let t = e.camera.pickEllipsoid(new Cesium.Cartesian2(e.canvas.clientWidth / 2, e.canvas.clientHeight)),
                    i = Cesium.Ellipsoid.WGS84.cartesianToCartographic(t);
                return [180 * i.longitude / Math.PI, 180 * i.latitude / Math.PI]
            }
        }

        class n {
            constructor(e, t, i = 0) {
                this.icy = e, this.tileset = e.viewer.scene.primitives.add(new Cesium.Cesium3DTileset({
                    url: t,
                    show: !0
                })), this.tileset.readyPromise.then((e => {
                    this.tileset = e, this.setHeight(i)
                }))
            }

            show(e) {
                this.tileset.show = e
            }

            setHeight(e = 0) {
                const t = this.tileset.boundingSphere, i = Cesium.Cartographic.fromCartesian(t.center),
                    r = Cesium.Cartesian3.fromRadians(i.longitude, i.latitude, 0),
                    n = Cesium.Cartesian3.fromRadians(i.longitude, i.latitude, e),
                    s = Cesium.Cartesian3.subtract(n, r, new Cesium.Cartesian3);
                this.tileset.modelMatrix = Cesium.Matrix4.fromTranslation(s)
            }

            look() {
                this.icy.viewer.zoomTo(this.tileset)
            }

            destroy() {
                this.tileset.destroy(), this.tileset = void 0
            }
        }

        class s {
            constructor(e) {
                this.icy = e, this.billboard = void 0
            }

            mouseMOVE(e) {
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
                    if (!this.icy.viewer.scene.pick(t.endPosition)) return this.billboard && (this.icy.viewer.canvas.style.cursor = "default", this.billboard.scale = void 0, this.billboard = void 0), void e(!1)
                }), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
            }

            mouseLeft(e) {
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
                    let i = this.icy.viewer.camera.getPickRay(t.position),
                        r = this.icy.viewer.scene.globe.pick(i, this.icy.viewer.scene),
                        n = Cesium.Cartographic.fromCartesian(r), s = Cesium.Math.toDegrees(n.longitude),
                        a = Cesium.Math.toDegrees(n.latitude), o = n.height, l = {
                            longitude: Number(s.toFixed(8)),
                            latitude: Number(a.toFixed(8)),
                            altitude: Number(o.toFixed(5))
                        };
                    console.log("鼠标获取经纬高", s, a, o, l);
                    let u = this.icy.viewer.scene.pick(t.position);
                    if (console.log(u), !u) return console.log("pick为空"), this.icy.viewer.scene.globe.translucency.enabled = !0, void (this.icy.viewer.scene.globe.translucency.frontFaceAlpha = 1);
                    e(u.id)
                }), Cesium.ScreenSpaceEventType.LEFT_CLICK)
            }

            mouseRight(e) {
                let t = new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas), i = this;
                t.setInputAction((t => {
                    let r = (n = i.icy.viewer.scene.pickPosition(t.position), s = new Cesium.Cartesian3(n.x, n.y, n.z), a = Cesium.Cartographic.fromCartesian(s), o = Cesium.Math.toDegrees(a.latitude), {
                        lng: Cesium.Math.toDegrees(a.longitude),
                        lat: o,
                        alt: a.height
                    });
                    var n, s, a, o;
                    e(r)
                }), Cesium.ScreenSpaceEventType.RIGHT_CLICK)
            }

            mouseLeftDouble(e) {
                new Cesium.ScreenSpaceEventHandler(this.icy.viewer.scene.canvas).setInputAction((t => {
                    let i = this.icy.viewer.camera.getPickRay(t.position),
                        r = this.icy.viewer.scene.globe.pick(i, this.icy.viewer.scene),
                        n = Cesium.Cartographic.fromCartesian(r), s = Cesium.Math.toDegrees(n.longitude),
                        a = Cesium.Math.toDegrees(n.latitude), o = n.height;
                    e(s, a, o)
                }), Cesium.ScreenSpaceEventType.LEFT_DOUBLE_CLICK)
            }
        }

        var a, o = Object.freeze({
                Linear: Object.freeze({
                    None: function (e) {
                        return e
                    }, In: function (e) {
                        return this.None(e)
                    }, Out: function (e) {
                        return this.None(e)
                    }, InOut: function (e) {
                        return this.None(e)
                    }
                }), Quadratic: Object.freeze({
                    In: function (e) {
                        return e * e
                    }, Out: function (e) {
                        return e * (2 - e)
                    }, InOut: function (e) {
                        return (e *= 2) < 1 ? .5 * e * e : -.5 * (--e * (e - 2) - 1)
                    }
                }), Cubic: Object.freeze({
                    In: function (e) {
                        return e * e * e
                    }, Out: function (e) {
                        return --e * e * e + 1
                    }, InOut: function (e) {
                        return (e *= 2) < 1 ? .5 * e * e * e : .5 * ((e -= 2) * e * e + 2)
                    }
                }), Quartic: Object.freeze({
                    In: function (e) {
                        return e * e * e * e
                    }, Out: function (e) {
                        return 1 - --e * e * e * e
                    }, InOut: function (e) {
                        return (e *= 2) < 1 ? .5 * e * e * e * e : -.5 * ((e -= 2) * e * e * e - 2)
                    }
                }), Quintic: Object.freeze({
                    In: function (e) {
                        return e * e * e * e * e
                    }, Out: function (e) {
                        return --e * e * e * e * e + 1
                    }, InOut: function (e) {
                        return (e *= 2) < 1 ? .5 * e * e * e * e * e : .5 * ((e -= 2) * e * e * e * e + 2)
                    }
                }), Sinusoidal: Object.freeze({
                    In: function (e) {
                        return 1 - Math.sin((1 - e) * Math.PI / 2)
                    }, Out: function (e) {
                        return Math.sin(e * Math.PI / 2)
                    }, InOut: function (e) {
                        return .5 * (1 - Math.sin(Math.PI * (.5 - e)))
                    }
                }), Exponential: Object.freeze({
                    In: function (e) {
                        return 0 === e ? 0 : Math.pow(1024, e - 1)
                    }, Out: function (e) {
                        return 1 === e ? 1 : 1 - Math.pow(2, -10 * e)
                    }, InOut: function (e) {
                        return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? .5 * Math.pow(1024, e - 1) : .5 * (2 - Math.pow(2, -10 * (e - 1)))
                    }
                }), Circular: Object.freeze({
                    In: function (e) {
                        return 1 - Math.sqrt(1 - e * e)
                    }, Out: function (e) {
                        return Math.sqrt(1 - --e * e)
                    }, InOut: function (e) {
                        return (e *= 2) < 1 ? -.5 * (Math.sqrt(1 - e * e) - 1) : .5 * (Math.sqrt(1 - (e -= 2) * e) + 1)
                    }
                }), Elastic: Object.freeze({
                    In: function (e) {
                        return 0 === e ? 0 : 1 === e ? 1 : -Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI)
                    }, Out: function (e) {
                        return 0 === e ? 0 : 1 === e ? 1 : Math.pow(2, -10 * e) * Math.sin(5 * (e - .1) * Math.PI) + 1
                    }, InOut: function (e) {
                        return 0 === e ? 0 : 1 === e ? 1 : (e *= 2) < 1 ? -.5 * Math.pow(2, 10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) : .5 * Math.pow(2, -10 * (e - 1)) * Math.sin(5 * (e - 1.1) * Math.PI) + 1
                    }
                }), Back: Object.freeze({
                    In: function (e) {
                        var t = 1.70158;
                        return 1 === e ? 1 : e * e * ((t + 1) * e - t)
                    }, Out: function (e) {
                        var t = 1.70158;
                        return 0 === e ? 0 : --e * e * ((t + 1) * e + t) + 1
                    }, InOut: function (e) {
                        var t = 2.5949095;
                        return (e *= 2) < 1 ? e * e * ((t + 1) * e - t) * .5 : .5 * ((e -= 2) * e * ((t + 1) * e + t) + 2)
                    }
                }), Bounce: Object.freeze({
                    In: function (e) {
                        return 1 - o.Bounce.Out(1 - e)
                    }, Out: function (e) {
                        return e < 1 / 2.75 ? 7.5625 * e * e : e < 2 / 2.75 ? 7.5625 * (e -= 1.5 / 2.75) * e + .75 : e < 2.5 / 2.75 ? 7.5625 * (e -= 2.25 / 2.75) * e + .9375 : 7.5625 * (e -= 2.625 / 2.75) * e + .984375
                    }, InOut: function (e) {
                        return e < .5 ? .5 * o.Bounce.In(2 * e) : .5 * o.Bounce.Out(2 * e - 1) + .5
                    }
                }), generatePow: function (e) {
                    return void 0 === e && (e = 4), e = (e = e < Number.EPSILON ? Number.EPSILON : e) > 1e4 ? 1e4 : e, {
                        In: function (t) {
                            return Math.pow(t, e)
                        }, Out: function (t) {
                            return 1 - Math.pow(1 - t, e)
                        }, InOut: function (t) {
                            return t < .5 ? Math.pow(2 * t, e) / 2 : (1 - Math.pow(2 - 2 * t, e)) / 2 + .5
                        }
                    }
                }
            }), l = "undefined" == typeof self && "undefined" != typeof process && process.hrtime ? function () {
                var e = process.hrtime();
                return 1e3 * e[0] + e[1] / 1e6
            } : "undefined" != typeof self && void 0 !== self.performance && void 0 !== self.performance.now ? self.performance.now.bind(self.performance) : void 0 !== Date.now ? Date.now : function () {
                return (new Date).getTime()
            }, u = function () {
                function e() {
                    this._tweens = {}, this._tweensAddedDuringUpdate = {}
                }

                return e.prototype.getAll = function () {
                    var e = this;
                    return Object.keys(this._tweens).map((function (t) {
                        return e._tweens[t]
                    }))
                }, e.prototype.removeAll = function () {
                    this._tweens = {}
                }, e.prototype.add = function (e) {
                    this._tweens[e.getId()] = e, this._tweensAddedDuringUpdate[e.getId()] = e
                }, e.prototype.remove = function (e) {
                    delete this._tweens[e.getId()], delete this._tweensAddedDuringUpdate[e.getId()]
                }, e.prototype.update = function (e, t) {
                    void 0 === e && (e = l()), void 0 === t && (t = !1);
                    var i = Object.keys(this._tweens);
                    if (0 === i.length) return !1;
                    for (; i.length > 0;) {
                        this._tweensAddedDuringUpdate = {};
                        for (var r = 0; r < i.length; r++) {
                            var n = this._tweens[i[r]], s = !t;
                            n && !1 === n.update(e, s) && !t && delete this._tweens[i[r]]
                        }
                        i = Object.keys(this._tweensAddedDuringUpdate)
                    }
                    return !0
                }, e
            }(), c = {
                Linear: function (e, t) {
                    var i = e.length - 1, r = i * t, n = Math.floor(r), s = c.Utils.Linear;
                    return t < 0 ? s(e[0], e[1], r) : t > 1 ? s(e[i], e[i - 1], i - r) : s(e[n], e[n + 1 > i ? i : n + 1], r - n)
                }, Bezier: function (e, t) {
                    for (var i = 0, r = e.length - 1, n = Math.pow, s = c.Utils.Bernstein, a = 0; a <= r; a++) i += n(1 - t, r - a) * n(t, a) * e[a] * s(r, a);
                    return i
                }, CatmullRom: function (e, t) {
                    var i = e.length - 1, r = i * t, n = Math.floor(r), s = c.Utils.CatmullRom;
                    return e[0] === e[i] ? (t < 0 && (n = Math.floor(r = i * (1 + t))), s(e[(n - 1 + i) % i], e[n], e[(n + 1) % i], e[(n + 2) % i], r - n)) : t < 0 ? e[0] - (s(e[0], e[0], e[1], e[1], -r) - e[0]) : t > 1 ? e[i] - (s(e[i], e[i], e[i - 1], e[i - 1], r - i) - e[i]) : s(e[n ? n - 1 : 0], e[n], e[i < n + 1 ? i : n + 1], e[i < n + 2 ? i : n + 2], r - n)
                }, Utils: {
                    Linear: function (e, t, i) {
                        return (t - e) * i + e
                    }, Bernstein: function (e, t) {
                        var i = c.Utils.Factorial;
                        return i(e) / i(t) / i(e - t)
                    }, Factorial: (a = [1], function (e) {
                        var t = 1;
                        if (a[e]) return a[e];
                        for (var i = e; i > 1; i--) t *= i;
                        return a[e] = t, t
                    }), CatmullRom: function (e, t, i, r, n) {
                        var s = .5 * (i - e), a = .5 * (r - t), o = n * n;
                        return (2 * t - 2 * i + s + a) * (n * o) + (-3 * t + 3 * i - 2 * s - a) * o + s * n + t
                    }
                }
            }, h = function () {
                function e() {
                }

                return e.nextId = function () {
                    return e._nextId++
                }, e._nextId = 0, e
            }(), m = new u, d = function () {
                function e(e, t) {
                    void 0 === t && (t = m), this._object = e, this._group = t, this._isPaused = !1, this._pauseStart = 0, this._valuesStart = {}, this._valuesEnd = {}, this._valuesStartRepeat = {}, this._duration = 1e3, this._initialRepeat = 0, this._repeat = 0, this._yoyo = !1, this._isPlaying = !1, this._reversed = !1, this._delayTime = 0, this._startTime = 0, this._easingFunction = o.Linear.None, this._interpolationFunction = c.Linear, this._chainedTweens = [], this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._id = h.nextId(), this._isChainStopped = !1, this._goToEnd = !1
                }

                return e.prototype.getId = function () {
                    return this._id
                }, e.prototype.isPlaying = function () {
                    return this._isPlaying
                }, e.prototype.isPaused = function () {
                    return this._isPaused
                }, e.prototype.to = function (e, t) {
                    return this._valuesEnd = Object.create(e), void 0 !== t && (this._duration = t), this
                }, e.prototype.duration = function (e) {
                    return void 0 === e && (e = 1e3), this._duration = e, this
                }, e.prototype.start = function (e, t) {
                    if (void 0 === e && (e = l()), void 0 === t && (t = !1), this._isPlaying) return this;
                    if (this._group && this._group.add(this), this._repeat = this._initialRepeat, this._reversed) for (var i in this._reversed = !1, this._valuesStartRepeat) this._swapEndStartRepeatValues(i), this._valuesStart[i] = this._valuesStartRepeat[i];
                    return this._isPlaying = !0, this._isPaused = !1, this._onStartCallbackFired = !1, this._onEveryStartCallbackFired = !1, this._isChainStopped = !1, this._startTime = e, this._startTime += this._delayTime, this._setupProperties(this._object, this._valuesStart, this._valuesEnd, this._valuesStartRepeat, t), this
                }, e.prototype.startFromCurrentValues = function (e) {
                    return this.start(e, !0)
                }, e.prototype._setupProperties = function (e, t, i, r, n) {
                    for (var s in i) {
                        var a = e[s], o = Array.isArray(a), l = o ? "array" : typeof a, u = !o && Array.isArray(i[s]);
                        if ("undefined" !== l && "function" !== l) {
                            if (u) {
                                var c = i[s];
                                if (0 === c.length) continue;
                                c = c.map(this._handleRelativeValue.bind(this, a)), void 0 === t[s] && (i[s] = [a].concat(c))
                            }
                            if ("object" !== l && !o || !a || u) (void 0 === t[s] || n) && (t[s] = a), o || (t[s] *= 1), r[s] = u ? i[s].slice().reverse() : t[s] || 0; else {
                                for (var h in t[s] = o ? [] : {}, a) t[s][h] = a[h];
                                r[s] = o ? [] : {}, this._setupProperties(a, t[s], i[s], r[s], n)
                            }
                        }
                    }
                }, e.prototype.stop = function () {
                    return this._isChainStopped || (this._isChainStopped = !0, this.stopChainedTweens()), this._isPlaying ? (this._group && this._group.remove(this), this._isPlaying = !1, this._isPaused = !1, this._onStopCallback && this._onStopCallback(this._object), this) : this
                }, e.prototype.end = function () {
                    return this._goToEnd = !0, this.update(1 / 0), this
                }, e.prototype.pause = function (e) {
                    return void 0 === e && (e = l()), this._isPaused || !this._isPlaying || (this._isPaused = !0, this._pauseStart = e, this._group && this._group.remove(this)), this
                }, e.prototype.resume = function (e) {
                    return void 0 === e && (e = l()), this._isPaused && this._isPlaying ? (this._isPaused = !1, this._startTime += e - this._pauseStart, this._pauseStart = 0, this._group && this._group.add(this), this) : this
                }, e.prototype.stopChainedTweens = function () {
                    for (var e = 0, t = this._chainedTweens.length; e < t; e++) this._chainedTweens[e].stop();
                    return this
                }, e.prototype.group = function (e) {
                    return void 0 === e && (e = m), this._group = e, this
                }, e.prototype.delay = function (e) {
                    return void 0 === e && (e = 0), this._delayTime = e, this
                }, e.prototype.repeat = function (e) {
                    return void 0 === e && (e = 0), this._initialRepeat = e, this._repeat = e, this
                }, e.prototype.repeatDelay = function (e) {
                    return this._repeatDelayTime = e, this
                }, e.prototype.yoyo = function (e) {
                    return void 0 === e && (e = !1), this._yoyo = e, this
                }, e.prototype.easing = function (e) {
                    return void 0 === e && (e = o.Linear.None), this._easingFunction = e, this
                }, e.prototype.interpolation = function (e) {
                    return void 0 === e && (e = c.Linear), this._interpolationFunction = e, this
                }, e.prototype.chain = function () {
                    for (var e = [], t = 0; t < arguments.length; t++) e[t] = arguments[t];
                    return this._chainedTweens = e, this
                }, e.prototype.onStart = function (e) {
                    return this._onStartCallback = e, this
                }, e.prototype.onEveryStart = function (e) {
                    return this._onEveryStartCallback = e, this
                }, e.prototype.onUpdate = function (e) {
                    return this._onUpdateCallback = e, this
                }, e.prototype.onRepeat = function (e) {
                    return this._onRepeatCallback = e, this
                }, e.prototype.onComplete = function (e) {
                    return this._onCompleteCallback = e, this
                }, e.prototype.onStop = function (e) {
                    return this._onStopCallback = e, this
                }, e.prototype.update = function (e, t) {
                    if (void 0 === e && (e = l()), void 0 === t && (t = !0), this._isPaused) return !0;
                    var i, r, n = this._startTime + this._duration;
                    if (!this._goToEnd && !this._isPlaying) {
                        if (e > n) return !1;
                        t && this.start(e, !0)
                    }
                    if (this._goToEnd = !1, e < this._startTime) return !0;
                    !1 === this._onStartCallbackFired && (this._onStartCallback && this._onStartCallback(this._object), this._onStartCallbackFired = !0), !1 === this._onEveryStartCallbackFired && (this._onEveryStartCallback && this._onEveryStartCallback(this._object), this._onEveryStartCallbackFired = !0), r = (e - this._startTime) / this._duration, r = 0 === this._duration || r > 1 ? 1 : r;
                    var s = this._easingFunction(r);
                    if (this._updateProperties(this._object, this._valuesStart, this._valuesEnd, s), this._onUpdateCallback && this._onUpdateCallback(this._object, r), 1 === r) {
                        if (this._repeat > 0) {
                            for (i in isFinite(this._repeat) && this._repeat--, this._valuesStartRepeat) this._yoyo || "string" != typeof this._valuesEnd[i] || (this._valuesStartRepeat[i] = this._valuesStartRepeat[i] + parseFloat(this._valuesEnd[i])), this._yoyo && this._swapEndStartRepeatValues(i), this._valuesStart[i] = this._valuesStartRepeat[i];
                            return this._yoyo && (this._reversed = !this._reversed), void 0 !== this._repeatDelayTime ? this._startTime = e + this._repeatDelayTime : this._startTime = e + this._delayTime, this._onRepeatCallback && this._onRepeatCallback(this._object), this._onEveryStartCallbackFired = !1, !0
                        }
                        this._onCompleteCallback && this._onCompleteCallback(this._object);
                        for (var a = 0, o = this._chainedTweens.length; a < o; a++) this._chainedTweens[a].start(this._startTime + this._duration, !1);
                        return this._isPlaying = !1, !1
                    }
                    return !0
                }, e.prototype._updateProperties = function (e, t, i, r) {
                    for (var n in i) if (void 0 !== t[n]) {
                        var s = t[n] || 0, a = i[n], o = Array.isArray(e[n]), l = Array.isArray(a);
                        !o && l ? e[n] = this._interpolationFunction(a, r) : "object" == typeof a && a ? this._updateProperties(e[n], s, a, r) : "number" == typeof (a = this._handleRelativeValue(s, a)) && (e[n] = s + (a - s) * r)
                    }
                }, e.prototype._handleRelativeValue = function (e, t) {
                    return "string" != typeof t ? t : "+" === t.charAt(0) || "-" === t.charAt(0) ? e + parseFloat(t) : parseFloat(t)
                }, e.prototype._swapEndStartRepeatValues = function (e) {
                    var t = this._valuesStartRepeat[e], i = this._valuesEnd[e];
                    this._valuesStartRepeat[e] = "string" == typeof i ? this._valuesStartRepeat[e] + parseFloat(i) : this._valuesEnd[e], this._valuesEnd[e] = t
                }, e
            }(), p = h.nextId, C = m, _ = C.getAll.bind(C), g = C.removeAll.bind(C), f = C.add.bind(C),
            y = C.remove.bind(C), v = C.update.bind(C);
        const w = {
            Easing: o,
            Group: u,
            Interpolation: c,
            now: l,
            Sequence: h,
            nextId: p,
            Tween: d,
            VERSION: "19.0.0",
            getAll: _,
            removeAll: g,
            add: f,
            remove: y,
            update: v
        };

        class M {
            static FileUrl = "../public/models/huaxing/glb/";

            static nameShow(e, t) {
                e.map((e => {
                    e.show(t)
                }))
            }

            static {
                function e() {
                    w.update(), requestAnimationFrame(e)
                }

                e()
            }

            constructor(e, {url: t, height: i, lon: r, lat: n, id: s, name: a, scale: o, angle: l}, u) {
                if (this.icy = e, !t && !u) return console.error("传参有问题");
                o = o || 1, i = i || 0, r = r || 116.28678152222574, n = n || 40.05185885026265;
                let c = Cesium.Cartesian3.fromDegrees(r, n, i), h = Cesium.Math.toRadians(l[0]),
                    m = Cesium.Math.toRadians(l[1]), d = Cesium.Math.toRadians(l[2]),
                    p = new Cesium.HeadingPitchRoll(h, m, d), C = Cesium.Transforms.headingPitchRollQuaternion(c, p);
                this.entity = t ? e.viewer.entities.add({
                    id: s,
                    name: a,
                    position: c,
                    orientation: C,
                    model: {uri: t, scale: o, color: new Cesium.Color(1, 1, 1, 1)},
                    runAnimations: !1,
                    incrementallyLoadTextures: !1,
                    colorBlendMode: Cesium.ColorBlendMode.MIX,
                    colorBlendAmount: .1,
                    _icy: {lon: r, lat: n, height: i}
                }) : e.viewer.entities.add({
                    id: s,
                    name: a,
                    position: c,
                    orientation: C,
                    model: u,
                    runAnimations: !1,
                    incrementallyLoadTextures: !1,
                    colorBlendMode: Cesium.ColorBlendMode.MIX,
                    colorBlendAmount: .1,
                    _icy: {lon: r, lat: n, height: i}
                })
            }

            show(e) {
                this.entity.show = e
            }

            move({lon: e, lat: t, height: i, angle: r}) {
                let n = Cesium.Cartesian3.fromDegrees(e, t, i), s = Cesium.Math.toRadians(r[0]),
                    a = Cesium.Math.toRadians(r[1]), o = Cesium.Math.toRadians(r[2]),
                    l = new Cesium.HeadingPitchRoll(s, a, o), u = Cesium.Transforms.headingPitchRollQuaternion(n, l);
                this.entity.position = n, this.entity.orientation = u
            }

            updateAngle(e) {
                let t = new Cesium.Cartesian3(this.entity.position._value.x, this.entity.position._value.y, this.entity.position._value.z),
                    i = Cesium.Math.toRadians(e[0]), r = e[1], n = e[2], s = new Cesium.HeadingPitchRoll(i, r, n),
                    a = Cesium.Transforms.headingPitchRollQuaternion(t, s);
                this.entity.orientation = a
            }

            animationMove(e, i, r, n, s) {
                if (!this.entity) throw"还没有对象呢!!";
                let a = this.entity.position, o = Cesium.Cartesian3.fromDegrees(e, i, r),
                    l = new w.Tween({x: a._value.x, y: a._value.y, z: a._value.z});
                l.to({x: o.x, y: o.y, z: o.z}, n), l.onUpdate((({x: e, y: i, z: r}) => {
                    let n = new Cesium.Cartesian3(e, i, r);
                    if(this.entity){
                        this.entity.position = n;
                    }
                    let a = t.Cartesian3ToWGS84(this.icy.viewer, n);
                    s(a)
                })), l.start()
            }

            lineColor(e) {
                this.entity.model.silhouetteSize = e ? 2 : 0
            }

            getEntity() {
                return this.entity
            }

            getPosition() {
                return this.entity.modelMatrix
            }

            clone(e) {
                return Cesium.clone(this.entity.model)
            }

            destroy() {
                this.icy.viewer.entities.remove(this.entity), this.entity = void 0
            }
        }

        class b {
            static FileUrl = "../public/models/huaxing/glb/";

            constructor(e, {url: t, height: i, lon: r, lat: n, id: s, name: a, scale: o, angle: l}, u) {
                if (this.icy = e, !t && !u) return console.error("传参有问题");
                o = o || 1, i = i || 0, r = r || 116.28678152222574, n = n || 40.05185885026265;
                let c = Cesium.Cartesian3.fromDegrees(r, n, i);
                var h = Cesium.Math.toRadians(l[0]), m = Cesium.Math.toRadians(l[1]), d = Cesium.Math.toRadians(l[2]),
                    p = new Cesium.HeadingPitchRoll(h, m, d);
                let C = Cesium.Transforms.headingPitchRollToFixedFrame(c, p, Cesium.Ellipsoid.WGS84, Cesium.Transforms.eastNorthUpToFixedFrame, new Cesium.Matrix4);
                this.entity = e.viewer.scene.primitives.add(Cesium.Model.fromGltf({
                    url: t,
                    color: Cesium.Color.WHITE,
                    modelMatrix: C,
                    scale: o
                }))
            }

            show(e) {
                this.entity.show = e
            }

            getEntity() {
                return this.entity
            }

            getState() {
                let e = this.entity.modelMatrix;
                const t = Cesium.Matrix4.getTranslation(e, new Cesium.Cartesian3);
                var i = this.icy.viewer.scene.globe.ellipsoid.cartesianToCartographic(t),
                    r = Cesium.Math.toDegrees(i.latitude), n = Cesium.Math.toDegrees(i.longitude), s = i.height;
                let a = e;
                var o = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Matrix4.getTranslation(a, new Cesium.Cartesian3), Cesium.Ellipsoid.WGS84, new Cesium.Matrix4),
                    l = Cesium.Matrix4.multiply(Cesium.Matrix4.inverse(o, new Cesium.Matrix4), a, new Cesium.Matrix4),
                    u = Cesium.Matrix4.getMatrix3(l, new Cesium.Matrix3), c = Cesium.Quaternion.fromRotationMatrix(u),
                    h = Cesium.HeadingPitchRoll.fromQuaternion(c);
                return {
                    lng: n,
                    lat: r,
                    alt: s,
                    angle: [Cesium.Math.toDegrees(h.heading), Cesium.Math.toDegrees(h.pitch), Cesium.Math.toDegrees(h.roll)]
                }
            }

            getPosition() {
                return this.entity.modelMatrix
            }

            destroy() {
                this.icy.viewer.entities.remove(this.entity), this.entity = void 0
            }
        }

        class S {
            constructor(e) {
                this.name = e, this.children = []
            }

            add(e) {
                if (!e.entity) throw"请传入模型";
                this.children.push(e)
            }

            show(e) {
                this.children.forEach((t => {
                    t.show(e)
                }))
            }

            move() {
                this.children.map((e => {
                    e.entity.position._value.x -= 1
                }))
            }

            destroy(e) {
                this.children.forEach((t => {
                    e.viewer.entities.remove(t.entity)
                }))
            }
        }

        class E extends M {
            static PERSON_BLUE = {url: M.FileUrl + "person_000002_blue.gltf"};
            static PERSON_BLUE_FAT = {url: M.FileUrl + "person_000002_blue_fat.gltf"};
            static PERSON_GREEN = {url: M.FileUrl + "person_000002_green.gltf"};
            static PERSON_GREEN_FAT = {url: M.FileUrl + "person_000002_green_fat.gltf"};
            static PERSON_RED = {url: M.FileUrl + "person_000002_red.gltf"};
            static PERSON_RED_FAT = {url: M.FileUrl + "person_000002_red_fat.gltf"};
            static PERSON_WHITE = {url: M.FileUrl + "person_000002_white.gltf"};
            static PERSON_WHITE_FAT = {url: M.FileUrl + "person_000002_white_fat.gltf"};
            static PERSON_YELLOW = {url: M.FileUrl + "person_000002_yellow.gltf"};
            static PERSON_YELLOW_FAT = {url: M.FileUrl + "person_000002_yellow_fat.gltf"};

            constructor(e, t, {lon: i, lat: r, id: n, name: s, scale: a, angle: o, height: l}) {
                super(e, {url: t.url, height: l, lon: i, lat: r, id: n, name: s, scale: a, angle: o})
            }

            destroy() {
            }
        }

        const T = window.Cesium, P = 52.35987755982988, x = 3.141592653589793, R = class {
            static BD09ToGCJ02(e, t) {
                let i = +e - .0065, r = +t - .006, n = Math.sqrt(i * i + r * r) - 2e-5 * Math.sin(r * P),
                    s = Math.atan2(r, i) - 3e-6 * Math.cos(i * P);
                return [n * Math.cos(s), n * Math.sin(s)]
            }

            static GCJ02ToBD09(e, t) {
                t = +t, e = +e;
                let i = Math.sqrt(e * e + t * t) + 2e-5 * Math.sin(t * P),
                    r = Math.atan2(t, e) + 3e-6 * Math.cos(e * P);
                return [i * Math.cos(r) + .0065, i * Math.sin(r) + .006]
            }

            static WGS84ToGCJ02(e, t) {
                if (t = +t, e = +e, this.out_of_china(e, t)) return [e, t];
                {
                    let i = this.delta(e, t);
                    return [e + i[0], t + i[1]]
                }
            }

            static GCJ02ToWGS84(e, t) {
                if (t = +t, e = +e, this.out_of_china(e, t)) return [e, t];
                {
                    let i = this.delta(e, t);
                    return [2 * e - (e + i[0]), 2 * t - (t + i[1])]
                }
            }

            static delta(e, t) {
                let i = this.transformLng(e - 105, t - 35), r = this.transformLat(e - 105, t - 35);
                const n = t / 180 * x;
                let s = Math.sin(n);
                s = 1 - .006693421622965943 * s * s;
                const a = Math.sqrt(s);
                return i = 180 * i / (6378245 / a * Math.cos(n) * x), r = 180 * r / (6335552.717000426 / (s * a) * x), [i, r]
            }

            static transformLng(e, t) {
                let i = 300 + (e = +e) + 2 * (t = +t) + .1 * e * e + .1 * e * t + .1 * Math.sqrt(Math.abs(e));
                return i += 2 * (20 * Math.sin(6 * e * x) + 20 * Math.sin(2 * e * x)) / 3, i += 2 * (20 * Math.sin(e * x) + 40 * Math.sin(e / 3 * x)) / 3, i += 2 * (150 * Math.sin(e / 12 * x) + 300 * Math.sin(e / 30 * x)) / 3, i
            }

            static transformLat(e, t) {
                let i = 2 * (e = +e) - 100 + 3 * (t = +t) + .2 * t * t + .1 * e * t + .2 * Math.sqrt(Math.abs(e));
                return i += 2 * (20 * Math.sin(6 * e * x) + 20 * Math.sin(2 * e * x)) / 3, i += 2 * (20 * Math.sin(t * x) + 40 * Math.sin(t / 3 * x)) / 3, i += 2 * (160 * Math.sin(t / 12 * x) + 320 * Math.sin(t * x / 30)) / 3, i
            }

            static out_of_china(e, t) {
                return t = +t, !((e = +e) > 73.66 && e < 135.05 && t > 3.86 && t < 53.55)
            }

            static transformWGS84ToCartesian(e, t, i) {
                return t ? T.Cartesian3.fromDegrees(t.lng || t.lon, t.lat, t.alt = i || t.alt, T.Ellipsoid.WGS84) : T.Cartesian3.ZERO
            }

            static transformCartesianToWGS84(e, t) {
                let i = T.Ellipsoid.WGS84.cartesianToCartographic(t);
                return {lng: T.Math.toDegrees(i.longitude), lat: T.Math.toDegrees(i.latitude), alt: i.height}
            }
        }, I = class {
            constructor(e, t, i, r) {
                if (!e) throw new Error("viewer is required!");
                this._viewer = e, this._gltf = t, this._handler = void 0, this._defaultWidth = 15, this._currentPick = void 0, this._dStep = i, this._rStep = r, this._params = {
                    tx: 0,
                    ty: 0,
                    tz: 0,
                    heading: 0,
                    pitch: 0,
                    roll: 0,
                    scale: 1
                }, this._coordArrows = void 0, this._coordCircle = [], this.initEvent()
            }

            get params() {
                return this._params
            }

            initParam() {
                this.removeAllTools();
                let e = this._gltf;
                this._viewer;
                const t = this.returnGltfCentorDegree(e), i = this.returnGltfRotation(e);
                return this._params.tx = t.lng, this._params.ty = t.lat, this._params.tz = t.alt, this._params.heading = i.heading, this._params.pitch = i.pitch, this._params.roll = i.roll, {
                    originDegree: t,
                    length: 50
                }
            }

            returnGltfRotation(e) {
                let t = e.modelMatrix,
                    i = Cesium.Transforms.eastNorthUpToFixedFrame(Cesium.Matrix4.getTranslation(t, new Cesium.Cartesian3), Cesium.Ellipsoid.WGS84, new Cesium.Matrix4),
                    r = Cesium.Matrix4.multiply(Cesium.Matrix4.inverse(i, new Cesium.Matrix4), t, new Cesium.Matrix4),
                    n = Cesium.Matrix4.getMatrix3(r, new Cesium.Matrix3), s = Cesium.Quaternion.fromRotationMatrix(n);
                return Cesium.HeadingPitchRoll.fromQuaternion(s)
            }

            returnGltfCentor(e) {
                let t = e.modelMatrix;
                return new Cesium.Cartesian3(t[12], t[13], t[14])
            }

            returnGltfCentorDegree(e) {
                let t = this.returnGltfCentor(e);
                return R.transformCartesianToWGS84(this._viewer, t)
            }

            editRtation() {
                const e = this.initParam();
                this.createCircle(e.originDegree.lng, e.originDegree.lat, e.originDegree.alt, e.length)
            }

            createCircle(e, t, i, r) {
                const n = [];
                for (let e = 0; e <= 360; e += 3) {
                    const t = Math.sin(Cesium.Math.toRadians(e)), i = r * Math.cos(Cesium.Math.toRadians(e)), s = r * t;
                    n.push(new Cesium.Cartesian3(i, s, 0))
                }
                const s = Cesium.Transforms.eastNorthUpToFixedFrame(new Cesium.Cartesian3.fromDegrees(e, t, i)),
                    a = this.createAxisSphere("model_edit_zCircle", n, s, Cesium.Color.RED);
                this._viewer.scene.primitives.add(a);
                const o = this.createAxisSphere("model_edit_yCircle", n, s, Cesium.Color.BLUE);
                this._viewer.scene.primitives.add(o);
                let l = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(90)),
                    u = Cesium.Matrix4.fromRotationTranslation(l);
                Cesium.Matrix4.multiply(o.geometryInstances.modelMatrix, u, o.geometryInstances.modelMatrix);
                const c = this.createAxisSphere("model_edit_xCircle", n, s, Cesium.Color.GREEN);
                this._viewer.scene.primitives.add(c);
                let h = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(90)),
                    m = Cesium.Matrix4.fromRotationTranslation(h);
                Cesium.Matrix4.multiply(c.geometryInstances.modelMatrix, m, c.geometryInstances.modelMatrix)
            }

            createAxisSphere(e, t, i, r) {
                let n = new Cesium.Primitive({
                    geometryInstances: new Cesium.GeometryInstance({
                        id: e,
                        geometry: new Cesium.PolylineGeometry({positions: t, width: 5}),
                        attributes: {color: Cesium.ColorGeometryInstanceAttribute.fromColor(r)}
                    }),
                    releaseGeometryInstances: !1,
                    appearance: new Cesium.PolylineColorAppearance({translucent: !1}),
                    modelMatrix: i
                });
                return n._name = e, this._coordCircle.push(n), n
            }

            onEdit(e) {
                this._gltf.color = this._gltf.color.withAlpha(e ? .5 : 1), this._gltf._allowPicking = !e
            }

            editTranslation() {
                const e = this.initParam();
                this.onEdit(!0);
                const t = e.length;
                let i = new Cesium.Cartesian3(t, t, t), r = this.returnGltfCentor(this._gltf),
                    n = this.getTransPostion(r, i);
                this.initLineArrow(e.originDegree, n, t)
            }

            updateLineArrow(e, t) {
                this.removeCoordArrows(), this._viewer;
                const i = e.scale * e._boundingSphere.radius / .8;
                let r = new Cesium.Cartesian3(i, i, i), n = this.returnGltfCentor(this._gltf),
                    s = this.getTransPostion(n, r);
                this.initLineArrow(t, s, i)
            }

            initEvent() {
                const e = this, t = this._viewer;
                e._handler = new Cesium.ScreenSpaceEventHandler(t.scene.canvas), e._handler.setInputAction((function (i) {
                    let r = t.scene.pick(i.position);
                    if (r && r.primitive && r.primitive._name && -1 != r.primitive._name.indexOf("model_edit")) {
                        t.scene.screenSpaceCameraController.enableRotate = !1, e._currentPick = r.primitive, e._currentPick.width = 25;
                        let n = t.scene.camera.pickEllipsoid(i.position, t.scene.globe.ellipsoid),
                            s = JSON.parse(JSON.stringify(e._gltf.modelMatrix)), a = 0, o = 0, l = 0, u = 0, c = 0,
                            h = 0;
                        if (n && Cesium.defined(n)) {
                            a = 0, o = 0, l = 0, u = 0, c = 0, h = 0;
                            const r = R.transformCartesianToWGS84(t, n);
                            e._handler.setInputAction((function (n) {
                                let m = t.scene.camera.pickEllipsoid(n.endPosition, t.scene.globe.ellipsoid);
                                const d = R.transformCartesianToWGS84(t, m), p = n.endPosition.y - i.position.y,
                                    C = n.endPosition.x - i.position.x;
                                switch (e._currentPick._name) {
                                    case"model_edit_xArrow":
                                        a = d.lng - r.lng;
                                        break;
                                    case"model_edit_yArrow":
                                        o = d.lat - r.lat;
                                        break;
                                    case"model_edit_zArrow":
                                        l = -e._dStep * p;
                                        break;
                                    case"model_edit_xCircle":
                                        u = e._rStep * p;
                                        break;
                                    case"model_edit_yCircle":
                                        c = e._rStep * C;
                                        break;
                                    case"model_edit_zCircle":
                                        h = e._rStep * C
                                }
                                e.updateModel(e._params, a, o, l, u, c, h, s)
                            }), Cesium.ScreenSpaceEventType.MOUSE_MOVE)
                        }
                        e._handler.setInputAction((function (i) {
                            t.scene.screenSpaceCameraController.enableRotate = !0, e._currentPick.width = e._defaultWidth, e._currentPick = void 0, e._params.tx += a, e._params.ty += o, e._params.tz += l;
                            let r = e.returnGltfRotation(e._gltf);
                            e._params.heading = r.heading, e._params.pitch = r.pitch, e._params.roll = r.roll, e._handler.removeInputAction(Cesium.ScreenSpaceEventType.MOUSE_MOVE), e._handler.removeInputAction(Cesium.ScreenSpaceEventType.LEFT_UP)
                        }), Cesium.ScreenSpaceEventType.LEFT_UP)
                    }
                }), Cesium.ScreenSpaceEventType.LEFT_DOWN)
            }

            updateModel(e, t, i, r, n, s, a, o) {
                if (this._coordArrows) {
                    let n = new Cesium.HeadingPitchRoll(e.heading, e.pitch, e.roll),
                        s = new Cesium.Cartesian3.fromDegrees(e.tx + t, e.ty + i, e.tz + r),
                        a = Cesium.Transforms.headingPitchRollToFixedFrame(s, n, Cesium.Ellipsoid.WGS84, Cesium.Transforms.eastNorthUpToFixedFrame, new Cesium.Matrix4);
                    this._gltf.modelMatrix = a, this.updateLineArrow(this._gltf, {
                        lng: e.tx + t,
                        lat: e.ty + i,
                        alt: e.tz + r
                    })
                }
                if (this._coordCircle) {
                    let e;
                    0 != n ? e = Cesium.Matrix3.fromRotationX(Cesium.Math.toRadians(n)) : 0 != s ? e = Cesium.Matrix3.fromRotationY(Cesium.Math.toRadians(s)) : 0 != a && (e = Cesium.Matrix3.fromRotationZ(Cesium.Math.toRadians(a))), this._gltf.modelMatrix = e ? Cesium.Matrix4.multiplyByMatrix3(o, e, new Cesium.Matrix4) : this._gltf.modelMatrix
                }
            }

            initLineArrow(e, t, i) {
                const r = new Cesium.PolylineCollection, n = [e.lng, e.lat, e.alt, t.lng, e.lat, e.alt],
                    s = (this.darwArrow(r, "model_edit_xArrow", n, Cesium.Color.GREEN), [e.lng, e.lat, e.alt, e.lng, t.lat, e.alt]),
                    a = (this.darwArrow(r, "model_edit_yArrow", s, Cesium.Color.BLUE), [e.lng, e.lat, e.alt, e.lng, e.lat, t.alt]);
                this.darwArrow(r, "model_edit_zArrow", a, Cesium.Color.RED), this._coordArrows = this._viewer.scene.primitives.add(r), this._coordArrows._name = "CoordAxis"
            }

            darwArrow(e, t, i, r) {
                e.add({
                    positions: Cesium.Cartesian3.fromDegreesArrayHeights(i),
                    width: this._defaultWidth,
                    material: Cesium.Material.fromType(Cesium.Material.PolylineArrowType, {color: r})
                })._name = t
            }

            getTransPostion(e, t) {
                let i = Cesium.Transforms.eastNorthUpToFixedFrame(e), r = new Cesium.Matrix4;
                Cesium.Matrix4.setTranslation(Cesium.Matrix4.IDENTITY, t, r);
                let n = Cesium.Matrix4.multiply(i, r, i);
                return Cesium.Matrix4.getTranslation(n, e), R.transformCartesianToWGS84(this._viewer, e)
            }

            removeCoordArrows() {
                this._coordArrows && (this._viewer.scene.primitives.remove(this._coordArrows), this._coordArrows = void 0)
            }

            removeCoordCircle() {
                this._coordCircle.forEach((e => {
                    this._viewer.scene.primitives.remove(e)
                })), this._coordCircle = []
            }

            removeAllTools() {
                this.removeCoordArrows(), this.removeCoordCircle()
            }

            destroy() {
                this._gltf.currentPosition = [this._params.tx, this._params.ty, this._params.tz], this.removeAllTools(), this._handler.destroy(), this.onEdit(!1)
            }
        };

        class D {
            constructor(e) {
                this.icy = e, this.fenceList = [], this.currentFence = [], this.currentEntity = [], this.currentState = !1, this.currentPolyline, this.currentPolygon
            }

            start() {
                this.currentState = !0;
                let e = this.icy.viewer.canvas.parentNode, t = document.createElement("div");
                t.id = "menu", t.style = "width:100px;position:fixed;left:20px;top:30px;z-index:99";
                let i = document.createElement("button");
                i.innerHTML = "完成绘制", i.addEventListener("click", (() => {
                    this.sout(), this.finish()
                })), t.appendChild(i), e.appendChild(t)
            }

            add(e, t, i = 0) {
                if (!this.currentState) throw"绘制电子围栏请先调用start函数";
                let r;
                if (this.currentFence.push([e, t, i]), r = this.addPoint(e, t, i), this.currentFence.length > 1) {
                    let e = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat());
                    this.currentPolyline ? this.currentPolyline.polyline.positions = e : this.currentPolyline = this.icy.viewer.entities.add({
                        polyline: {
                            positions: e,
                            width: 5,
                            material: new Cesium.Color.fromCssColorString("#00fffb"),
                            clampToGround: !1
                        }
                    })
                }
                if (this.currentFence.length > 2) {
                    let e = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat());
                    this.currentPolygon ? this.currentPolygon.polygon.hierarchy = e : this.currentPolygon = this.icy.viewer.entities.add({
                        polygon: {
                            hierarchy: e,
                            material: new Cesium.Color.fromCssColorString("red").withAlpha(.5),
                            extrudedHeight: i,
                            height: Number(i + .1)
                        }
                    })
                }
                this.currentEntity.push(r)
            }

            back() {
                if (!this.currentState) throw"请先调用start函数";
                this.currentFence.length = this.currentFence.length - 1, this.icy.viewer.entities.remove(this.currentEntity[this.currentEntity.length - 1]), this.currentEntity.length = this.currentEntity.length - 1, this.update_Polygon(), this.update_Polyline()
            }

            stop() {
                this.currentState ? (this.currentState = !1, 0 != this.currentFence.length && this.fenceList.push(this.currentFence), this.currentFence = []) : console.error("状态已经是停止状态")
            }

            finish() {
                this.currentEntity.forEach((e => this.icy.viewer.entities.remove(e))), this.currentEntity = [], this.icy.viewer.entities.remove(this.currentPolygon), this.currentPolygon = void 0, this.icy.viewer.entities.remove(this.currentPolyline), this.currentPolyline = void 0, this.currentFence.flat().push(...this.currentFence[0]), this.currentFence.length = 0
            }

            addPoint(e, t, i) {
                let r;
                return r = this.icy.viewer.entities.add({
                    position: Cesium.Cartesian3.fromDegrees(e, t, i),
                    point: {
                        pixelSize: 10,
                        color: Cesium.Color.YELLOW,
                        disableDepthTestDistance: Number.POSITIVE_INFINITY
                    }
                }), r
            }

            update_Polygon() {
                this.currentEntity.length < 3 ? (this.icy.viewer.entities.remove(this.currentPolygon), this.currentPolygon = void 0) : this.currentPolygon.polygon.hierarchy = Cesium.Cartesian3.fromDegreesArrayHeights(this.currentFence.flat())
            }

            update_Polyline() {
                if (this.currentEntity.length < 2) this.icy.viewer.entities.remove(this.currentPolyline), this.currentPolyline = void 0; else {
                    let e = this.currentFence.flat();
                    this.currentPolyline.polyline.positions = Cesium.Cartesian3.fromDegreesArrayHeights(e)
                }
            }

            clear() {
                try {
                    this.finish()
                } catch (e) {
                }
                this.fenceList.map((e => {
                    console.log(e), this.icy.viewer.entities.remove(e)
                })), this.fenceList = []
            }

            showDataSource(e, t = 100, i = "yellow") {
                let r = e.flat();
                r.push(...e[0]), this.qiang = this.icy.viewer.entities.add({
                    wall: {
                        positions: Cesium.Cartesian3.fromDegreesArrayHeights(r),
                        maximumHeights: new Array(r.length).fill(t),
                        minimunHeights: new Array(r.length).fill(10),
                        material: new Cesium.WallDiffuseMaterialProperty({color: new Cesium.Color.fromCssColorString(i)})
                    }
                })
            }

            show(e) {
                this.qiang.show = e
            }

            destroy() {
                this.icy.viewer.entities.remove(this.qiang), this.qiang = void 0
            }

            sout() {
                console.log("本次您绘制的区域经纬度为"), console.log(JSON.stringify(this.currentFence))
            }
        }

        class O {
            constructor(e, {name: t = null, width: i = 1, positions: r, color: n}) {
                this.icy = e, this.positions = r, this.entity = e.viewer.entities.add({
                    name: t,
                    polyline: {
                        positions: Cesium.Cartesian3.fromDegreesArrayHeights(r.flat()),
                        width: i,
                        material: Cesium.Color.fromCssColorString(n),
                        clampToGround: !1
                    }
                })
            }

            setCurrentIndex(e) {
                let t = [];
                for (let i = 0; i < e; i++) t.push(this.positions[i]);
                this.entity.polyline.positions = new Cesium.CallbackProperty((() => Cesium.Cartesian3.fromDegreesArrayHeights(t.flat())), !1)
            }

            show(e) {
                this.entity.show = e
            }

            destroy() {
                this.icy.viewer.entities.remove(this.entity), this.entity = void 0
            }
        }

        class A {
            constructor(e, {id: t, positions: i, color: r = "red", height: n = 30, name: s = "四色图"}, a) {
                this.icy = e, this.entity = e.viewer.entities.add({
                    name: s,
                    id: t,
                    polygon: {
                        hierarchy: Cesium.Cartesian3.fromDegreesArrayHeights(i.flat()),
                        material: Cesium.Color.fromCssColorString(r).withAlpha(.5),
                        extrudedHeight: n,
                        outline: !0,
                        outlineColor: Cesium.Color.fromCssColorString("#ffffff")
                    }
                });
                var o = this.entity.polygon.hierarchy.getValue(Cesium.JulianDate.now()).positions,
                    l = Cesium.BoundingSphere.fromPoints(o).center;
                let u = (c = l, h = new Cesium.Cartesian3(c.x, c.y, c.z), m = Cesium.Cartographic.fromCartesian(h), d = Cesium.Math.toDegrees(m.latitude), {
                    lng: Cesium.Math.toDegrees(m.longitude),
                    lat: d,
                    alt: m.height
                });
                var c, h, m, d;
                if (u.alt = n, l = function (e) {
                    var t = Cesium.Cartesian3.fromDegrees(e.lng, e.lat, e.alt);
                    return {x: t.x, y: t.y, z: t.z}
                }(u), this.entity.position = l, a) {
                    let e = new Image;
                    e.src = a.toDataURL("image/jpg"), this.entity.billboard = {
                        image: e,
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                        scale: 1
                    }
                }
            }

            show(e) {
                this.entity.show = e
            }

            destroy() {
                this.icy.viewer.entities.remove(this.entity), this.entity = void 0
            }
        }

        class F {
            constructor(e) {
                this.viewer = e.viewer, this.lastStageList = []
            }

            add(e, t, i, r) {
                this.lastStageList.push(this.showCircleScan(e, t, i, r))
            }

            clear() {
                this.lastStageList.forEach((e => {
                    this.clearScanEffects(e)
                })), this.lastStageList = []
            }

            showCircleScan(e, t, i, r) {
                const n = new Cesium.Cartographic(Cesium.Math.toRadians(e[0]), Cesium.Math.toRadians(e[1]), e[2]);
                return t = new Cesium.Color.fromCssColorString(t), this._addCircleScanPostStage(n, i, t, r)
            }

            _addCircleScanPostStage(e, t, i, r) {
                const n = Cesium.Cartographic.toCartesian(e), s = new Cesium.Cartesian4(n.x, n.y, n.z, 1),
                    a = new Cesium.Cartographic(e.longitude, e.latitude, e.height + 500),
                    o = Cesium.Cartographic.toCartesian(a), l = new Cesium.Cartesian4(o.x, o.y, o.z, 1),
                    u = (new Date).getTime(), c = new Cesium.Cartesian4, h = new Cesium.Cartesian4,
                    m = new Cesium.Cartesian3, d = this, p = new Cesium.PostProcessStage({
                        fragmentShader: d._getScanSegmentShader(),
                        uniforms: {
                            u_scanCenterEC: function () {
                                return Cesium.Matrix4.multiplyByVector(d.viewer.camera._viewMatrix, s, c)
                            }, u_scanPlaneNormalEC: function () {
                                const e = Cesium.Matrix4.multiplyByVector(d.viewer.camera._viewMatrix, s, c),
                                    t = Cesium.Matrix4.multiplyByVector(d.viewer.camera._viewMatrix, l, h);
                                return m.x = t.x - e.x, m.y = t.y - e.y, m.z = t.z - e.z, Cesium.Cartesian3.normalize(m, m), m
                            }, u_radius: function () {
                                return t * (((new Date).getTime() - u) % r) / r
                            }, u_scanColor: i
                        }
                    });
                return this.viewer.scene.postProcessStages.add(p), p
            }

            _getScanSegmentShader() {
                return " uniform sampler2D colorTexture;\n        uniform sampler2D depthTexture;\n        varying vec2 v_textureCoordinates;\n        uniform vec4 u_scanCenterEC;\n        uniform vec3 u_scanPlaneNormalEC;\n        uniform float u_radius;\n        uniform vec4 u_scanColor;\n        vec4 toEye(in vec2 uv, in float depth){\n          vec2 xy = vec2((uv.x * 2.0 - 1.0),(uv.y * 2.0 - 1.0));\n          vec4 posInCamera = czm_inverseProjection * vec4(xy, depth, 1.0);\n          posInCamera =posInCamera / posInCamera.w;\n          return posInCamera;\n        }\n        vec3 pointProjectOnPlane(in vec3 planeNormal, in vec3 planeOrigin, in vec3 point){\n            vec3 v01 = point - planeOrigin;\n            float d = dot(planeNormal, v01) ;\n            return (point - planeNormal * d);\n        }\n        float getDepth(in vec4 depth){\n            float z_window = czm_unpackDepth(depth);\n            z_window = czm_reverseLogDepth(z_window);\n            float n_range = czm_depthRange.near;\n            float f_range = czm_depthRange.far;\n            return (2.0 * z_window - n_range - f_range) / (f_range - n_range);\n        }\n        void main(){\n            gl_FragColor = texture2D(colorTexture, v_textureCoordinates);\n            float depth = getDepth(texture2D(depthTexture, v_textureCoordinates));\n            vec4 viewPos = toEye(v_textureCoordinates, depth);\n            vec3 prjOnPlane = pointProjectOnPlane(u_scanPlaneNormalEC.xyz, u_scanCenterEC.xyz, viewPos.xyz);\n            float dis = length(prjOnPlane.xyz - u_scanCenterEC.xyz);\n            if(dis < u_radius){\n              float f = 1.0 - abs(u_radius - dis) / u_radius;\n              f = pow(f, float(18));\n              gl_FragColor = mix(gl_FragColor,u_scanColor,f);\n            }\n            gl_FragColor.a = gl_FragColor.a / 2.0;\n        }\n      "
            }

            clearScanEffects(e) {
                this.viewer.scene.postProcessStages.remove(e)
            }
        }

        var z = __webpack_require__(117);

        class k {
            static {
                function e() {
                    w.update(), requestAnimationFrame(e)
                }

                e()
            }

            constructor(e) {
                this.icy = e, this.entity
            }

            loadCanvas(e, {lon: t, lat: i, height: r, id: n, name: s}) {
                let a = new Image;
                a.src = e.toDataURL("image/jpg"), this.entity = this.icy.viewer.entities.add({
                    name: s,
                    id: n,
                    position: Cesium.Cartesian3.fromDegrees(t, i, r),
                    billboard: {
                        image: a,
                        disableDepthTestDistance: Number.POSITIVE_INFINITY,
                        horizontalOrigin: Cesium.HorizontalOrigin.CENTER,
                        verticalOrigin: Cesium.VerticalOrigin.BOTTOM,
                        scale: 1
                    }
                })
            }

            uopdateImg(e) {
                let t = new Image;
                t.src = e.toDataURL("image/jpg"), this.entity.billboard.image = t
            }

            move(e, t, i) {
                this.entity.position = Cesium.Cartesian3.fromDegrees(e, t, i)
            }

            animationMove(e, t, i, r) {
                if (!this.entity) throw"还没有对象呢!!";
                let n = this.entity.position, s = Cesium.Cartesian3.fromDegrees(e, t, i),
                    a = new w.Tween({x: n._value.x, y: n._value.y, z: n._value.z});
                a.to({x: s.x, y: s.y, z: s.z}, r), a.onUpdate((({x: e, y: t, z: i}) => {
                    let r = new Cesium.Cartesian3(e, t, i);
                    if(this.entity){
                        this.entity.position = r;
                    }
                })), a.start()
            }

            show(e) {
                this.entity.show = e
            }

            animate() {
                this.entity.billboard.scale > 1.2 ? this.entity.billboard.scale = 1 : this.entity.billboard.scale += .002
            }

            destroy() {
                this.icy.viewer.entities.remove(this.entity), this.entity = void 0
            }
        }

        Cesium.Ion.defaultAccessToken = "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJqdGkiOiIzNzFlNTg1MC0wOTA0LTQzYzYtOTBjZi05MjIzZjU2NTkzZGQiLCJpZCI6MTE4ODE3LCJpYXQiOjE2NzE1MDY2NjF9.yGR3CbS6VQp2s6Y9NHWOIKq8qKL0sWLZZBZ9eP02Ags"
    })(), CustomCesium = __webpack_exports__
})();