管道基础大数据平台系统开发-【前端】-新系統界面
编辑 | blame | 历史 | 原始文档
!function (e, n) {
    "object" == typeof exports && "object" == typeof module ? module.exports = n(require("Cesium")) : "function" == typeof define && define.amd ? define(["Cesium"], n) : "object" == typeof exports ? exports.space = n(require("Cesium")) : e.space = n(e.Cesium)
}("undefined" != typeof self ? self : this, function (t) {
    return function (t) {
        var o = {};
        function i(e) {
            if (o[e])
                return o[e].exports;
            var n = o[e] = {
                i: e,
                l: !1,
                exports: {}
            };
            return t[e].call(n.exports, n, n.exports, i),
                n.l = !0,
                n.exports
        }
        return i.m = t,
            i.c = o,
            i.d = function (e, n, t) {
                i.o(e, n) || Object.defineProperty(e, n, {
                    configurable: !1,
                    enumerable: !0,
                    get: t
                })
            }
            ,
            i.n = function (e) {
                var n = e && e.__esModule ? function () {
                    return e.default
                }
                    : function () {
                        return e
                    }
                    ;
                return i.d(n, "a", n),
                    n
            }
            ,
            i.o = function (e, n) {
                return Object.prototype.hasOwnProperty.call(e, n)
            }
            ,
            i.p = "",
            i(i.s = 2)
    }([function (e, n) {
        e.exports = t
    }
        , function (e, n, t) {
            "use strict";
            Object.defineProperty(n, "__esModule", {
                value: !0
            }),
                n.RectangularSensorPrimitive = void 0;
            var T = o(t(0))
                , b = o(t(3))
                , L = o(t(4))
                , z = o(t(5))
                , D = o(t(6));
            function o(e) {
                return e && e.__esModule ? e : {
                    default: e
                }
            }
            //xpÐÞ¸ÄT.default.BoundingSphere
            var V = T.BoundingSphere
                , R = T.Cartesian3
                , i = T.Color
                , h = T.combine
                , I = T.ComponentDatatype
                , r = T.defaultValue
                , a = T.defined
                , O = (T.defineProperties,
                    T.destroyObject,
                    T.DeveloperError)
                , H = T.Matrix4
                , s = T.PrimitiveType
                , W = T.Buffer
                , F = T.BufferUsage
                , l = T.DrawCommand
                , B = T.Pass
                , N = T.RenderState
                , k = T.ShaderProgram
                , Y = T.ShaderSource
                , G = T.VertexArray
                , X = T.BlendingState
                , q = T.CullFace
                , u = T.Material
                , U = T.SceneMode
                , j = T.VertexFormat
                , Z = T.Math
                , Q = T.Matrix3
                , J = (H = T.Matrix4,
                    T.JulianDate)
                , m = (T.BoxGeometry,
                    T.EllipsoidGeometry,
                    Math.sin)
                , K = Math.cos
                , $ = Math.tan
                , ee = Math.atan
                , ne = (Math.asin,
                    {
                        position: 0,
                        normal: 1
                    });
            function c(e) {
                var n = this;
                e = r(e, r.EMPTY_OBJECT),
                    this.show = r(e.show, !0),
                    this.slice = r(e.slice, 32),
                    this.modelMatrix = H.clone(e.modelMatrix, new H),
                    this._modelMatrix = new H,
                    this._computedModelMatrix = new H,
                    this._computedScanPlaneModelMatrix = new H,
                    this.radius = r(e.radius, Number.POSITIVE_INFINITY),
                    this._radius = void 0,
                    this.xHalfAngle = r(e.xHalfAngle, 0),
                    this._xHalfAngle = void 0,
                    this.yHalfAngle = r(e.yHalfAngle, 0),
                    this._yHalfAngle = void 0,
                    this.lineColor = r(e.lineColor, i.WHITE),
                    this.showSectorLines = r(e.showSectorLines, !0),
                    this.showSectorSegmentLines = r(e.showSectorSegmentLines, !0),
                    this.showLateralSurfaces = r(e.showLateralSurfaces, !0),
                    this.material = a(e.material) ? e.material : u.fromType(u.ColorType),
                    this._material = void 0,
                    this._translucent = void 0,
                    this.lateralSurfaceMaterial = a(e.lateralSurfaceMaterial) ? e.lateralSurfaceMaterial : u.fromType(u.ColorType),
                    this._lateralSurfaceMaterial = void 0,
                    this._lateralSurfaceTranslucent = void 0,
                    this.showDomeSurfaces = r(e.showDomeSurfaces, !0),
                    this.domeSurfaceMaterial = a(e.domeSurfaceMaterial) ? e.domeSurfaceMaterial : u.fromType(u.ColorType),
                    this._domeSurfaceMaterial = void 0,
                    this.showDomeLines = r(e.showDomeLines, !0),
                    this.showIntersection = r(e.showIntersection, !0),
                    this.intersectionColor = r(e.intersectionColor, i.WHITE),
                    this.intersectionWidth = r(e.intersectionWidth, 5),
                    this.showThroughEllipsoid = r(e.showThroughEllipsoid, !1),
                    this._showThroughEllipsoid = void 0,
                    this.showScanPlane = r(e.showScanPlane, !0),
                    this.scanPlaneColor = r(e.scanPlaneColor, i.WHITE),
                    this.scanPlaneMode = r(e.scanPlaneMode, "horizontal"),
                    this.scanPlaneRate = r(e.scanPlaneRate, 10),
                    this._scanePlaneXHalfAngle = 0,
                    this._scanePlaneYHalfAngle = 0,
                    this._time = J.now(),
                    this._boundingSphere = new V,
                    this._boundingSphereWC = new V,
                    this._sectorFrontCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._sectorBackCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._sectorVA = void 0,
                    this._sectorLineCommand = new l({
                        owner: this,
                        primitiveType: s.LINES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._sectorLineVA = void 0,
                    this._sectorSegmentLineCommand = new l({
                        owner: this,
                        primitiveType: s.LINES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._sectorSegmentLineVA = void 0,
                    this._domeFrontCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._domeBackCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._domeVA = void 0,
                    this._domeLineCommand = new l({
                        owner: this,
                        primitiveType: s.LINES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._domeLineVA = void 0,
                    this._scanPlaneFrontCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._scanPlaneBackCommand = new l({
                        owner: this,
                        primitiveType: s.TRIANGLES,
                        boundingVolume: this._boundingSphereWC
                    }),
                    this._scanRadialCommand = void 0,
                    this._colorCommands = [],
                    this._frontFaceRS = void 0,
                    this._backFaceRS = void 0,
                    this._sp = void 0,
                    this._uniforms = {
                        u_type: function () {
                            return 0
                        },
                        u_xHalfAngle: function () {
                            return n.xHalfAngle
                        },
                        u_yHalfAngle: function () {
                            return n.yHalfAngle
                        },
                        u_radius: function () {
                            return n.radius
                        },
                        u_showThroughEllipsoid: function () {
                            return n.showThroughEllipsoid
                        },
                        u_showIntersection: function () {
                            return n.showIntersection
                        },
                        u_intersectionColor: function () {
                            return n.intersectionColor
                        },
                        u_intersectionWidth: function () {
                            return n.intersectionWidth
                        },
                        u_normalDirection: function () {
                            return 1
                        },
                        u_lineColor: function () {
                            return n.lineColor
                        }
                    },
                    this._scanUniforms = {
                        u_xHalfAngle: function () {
                            return n._scanePlaneXHalfAngle
                        },
                        u_yHalfAngle: function () {
                            return n._scanePlaneYHalfAngle
                        },
                        u_radius: function () {
                            return n.radius
                        },
                        u_color: function () {
                            return n.scanPlaneColor
                        },
                        u_showThroughEllipsoid: function () {
                            return n.showThroughEllipsoid
                        },
                        u_showIntersection: function () {
                            return n.showIntersection
                        },
                        u_intersectionColor: function () {
                            return n.intersectionColor
                        },
                        u_intersectionWidth: function () {
                            return n.intersectionWidth
                        },
                        u_normalDirection: function () {
                            return 1
                        },
                        u_lineColor: function () {
                            return n.lineColor
                        }
                    }
            }
            c.prototype.update = function (e) {
                var n = e.mode;
                if (this.show && n === U.SCENE3D) {
                    var t = !1
                        , o = !1
                        , i = !1
                        , r = this.xHalfAngle
                        , a = this.yHalfAngle;
                    if (r < 0 || a < 0)
                        throw new O("halfAngle must be greater than or equal to zero.");
                    if (0 != r && 0 != a) {
                        this._xHalfAngle === r && this._yHalfAngle === a || (this._xHalfAngle = r,
                            this._yHalfAngle = a,
                            t = !0);
                        var s = this.radius;
                        if (s < 0)
                            throw new O("this.radius must be greater than or equal to zero.");
                        var l = !1;
                        this._radius !== s && (l = !0,
                            this._radius = s,
                            this._boundingSphere = new V(R.ZERO, this.radius)),
                            (!H.equals(this.modelMatrix, this._modelMatrix) || l) && (H.clone(this.modelMatrix, this._modelMatrix),
                                H.multiplyByUniformScale(this.modelMatrix, this.radius, this._computedModelMatrix),
                                V.transform(this._boundingSphere, this.modelMatrix, this._boundingSphereWC));
                        var u = this.showThroughEllipsoid;
                        this._showThroughEllipsoid !== this.showThroughEllipsoid && (this._showThroughEllipsoid = u,
                            o = !0);
                        var c = this.material;
                        this._material !== c && (this._material = c,
                            i = o = !0);
                        var d = c.isTranslucent();
                        if (this._translucent !== d && (this._translucent = d,
                            o = !0),
                            this.showScanPlane) {
                            var h = e.time
                                , f = J.secondsDifference(h, this._time);
                            f < 0 && (this._time = J.clone(h, this._time));
                            var m, p = Math.max(f % this.scanPlaneRate / this.scanPlaneRate, 0);
                            if ("horizontal" == this.scanPlaneMode) {
                                var _ = K(m = 2 * a * p - a)
                                    , v = $(r)
                                    , g = ee(_ * v);
                                this._scanePlaneXHalfAngle = g,
                                    this._scanePlaneYHalfAngle = m,
                                    T.Matrix3.fromRotationX(this._scanePlaneYHalfAngle, te)
                            } else {
                                m = 2 * r * p - r;
                                var w = $(a)
                                    , S = K(m)
                                    , C = ee(S * w);
                                this._scanePlaneXHalfAngle = m,
                                    this._scanePlaneYHalfAngle = C,
                                    T.Matrix3.fromRotationY(this._scanePlaneXHalfAngle, te)
                            }
                            T.Matrix4.multiplyByMatrix3(this.modelMatrix, te, this._computedScanPlaneModelMatrix),
                                H.multiplyByUniformScale(this._computedScanPlaneModelMatrix, this.radius, this._computedScanPlaneModelMatrix)
                        }
                        t && function (e, n) {
                            var t = n.context
                                , o = ie(e, e.xHalfAngle, e.yHalfAngle)
                                , i = function (e, n) {
                                    var t = e.xHalfAngle
                                        , o = e.yHalfAngle
                                        , i = n.zoy
                                        , r = n.zox
                                        , a = []
                                        , s = Q.fromRotationY(t, te);
                                    a.push(i.map(function (e) {
                                        return Q.multiplyByVector(s, e, new T.Cartesian3)
                                    }));
                                    var s = Q.fromRotationX(-o, te);
                                    a.push(r.map(function (e) {
                                        return Q.multiplyByVector(s, e, new T.Cartesian3)
                                    }).reverse());
                                    var s = Q.fromRotationY(-t, te);
                                    a.push(i.map(function (e) {
                                        return Q.multiplyByVector(s, e, new T.Cartesian3)
                                    }).reverse());
                                    var s = Q.fromRotationX(o, te);
                                    return a.push(r.map(function (e) {
                                        return Q.multiplyByVector(s, e, new T.Cartesian3)
                                    })),
                                        a
                                }(e, o);
                            e.showLateralSurfaces && (e._sectorVA = function (e, n) {
                                for (var t = Array.prototype.concat.apply([], n).length - n.length, o = new Float32Array(18 * t), i = 0, r = 0, a = n.length; r < a; r++)
                                    for (var s = n[r], l = R.normalize(R.cross(s[0], s[s.length - 1], oe), oe), u = 0, t = s.length - 1; u < t; u++)
                                        o[i++] = 0,
                                            o[i++] = 0,
                                            o[i++] = 0,
                                            o[i++] = -l.x,
                                            o[i++] = -l.y,
                                            o[i++] = -l.z,
                                            o[i++] = s[u].x,
                                            o[i++] = s[u].y,
                                            o[i++] = s[u].z,
                                            o[i++] = -l.x,
                                            o[i++] = -l.y,
                                            o[i++] = -l.z,
                                            o[i++] = s[u + 1].x,
                                            o[i++] = s[u + 1].y,
                                            o[i++] = s[u + 1].z,
                                            o[i++] = -l.x,
                                            o[i++] = -l.y,
                                            o[i++] = -l.z;
                                var c = W.createVertexBuffer({
                                    context: e,
                                    typedArray: o,
                                    usage: F.STATIC_DRAW
                                })
                                    , d = 6 * Float32Array.BYTES_PER_ELEMENT
                                    , h = [{
                                        index: ne.position,
                                        vertexBuffer: c,
                                        componentsPerAttribute: 3,
                                        componentDatatype: I.FLOAT,
                                        offsetInBytes: 0,
                                        strideInBytes: d
                                    }, {
                                        index: ne.normal,
                                        vertexBuffer: c,
                                        componentsPerAttribute: 3,
                                        componentDatatype: I.FLOAT,
                                        offsetInBytes: 3 * Float32Array.BYTES_PER_ELEMENT,
                                        strideInBytes: d
                                    }];
                                return new G({
                                    context: e,
                                    attributes: h
                                })
                            }(t, i));
                            e.showSectorLines && (e._sectorLineVA = function (e, n) {
                                for (var t = n.length, o = new Float32Array(9 * t), i = 0, r = 0, a = n.length; r < a; r++) {
                                    var s = n[r];
                                    o[i++] = 0,
                                        o[i++] = 0,
                                        o[i++] = 0,
                                        o[i++] = s[0].x,
                                        o[i++] = s[0].y,
                                        o[i++] = s[0].z
                                }
                                var l = W.createVertexBuffer({
                                    context: e,
                                    typedArray: o,
                                    usage: F.STATIC_DRAW
                                })
                                    , u = 3 * Float32Array.BYTES_PER_ELEMENT
                                    , c = [{
                                        index: ne.position,
                                        vertexBuffer: l,
                                        componentsPerAttribute: 3,
                                        componentDatatype: I.FLOAT,
                                        offsetInBytes: 0,
                                        strideInBytes: u
                                    }];
                                return new G({
                                    context: e,
                                    attributes: c
                                })
                            }(t, i));
                            e.showSectorSegmentLines && (e._sectorSegmentLineVA = function (e, n) {
                                for (var t = Array.prototype.concat.apply([], n).length - n.length, o = new Float32Array(9 * t), i = 0, r = 0, a = n.length; r < a; r++)
                                    for (var s = n[r], l = 0, t = s.length - 1; l < t; l++)
                                        o[i++] = s[l].x,
                                            o[i++] = s[l].y,
                                            o[i++] = s[l].z,
                                            o[i++] = s[l + 1].x,
                                            o[i++] = s[l + 1].y,
                                            o[i++] = s[l + 1].z;
                                var u = W.createVertexBuffer({
                                    context: e,
                                    typedArray: o,
                                    usage: F.STATIC_DRAW
                                })
                                    , c = 3 * Float32Array.BYTES_PER_ELEMENT
                                    , d = [{
                                        index: ne.position,
                                        vertexBuffer: u,
                                        componentsPerAttribute: 3,
                                        componentDatatype: I.FLOAT,
                                        offsetInBytes: 0,
                                        strideInBytes: c
                                    }];
                                return new G({
                                    context: e,
                                    attributes: d
                                })
                            }(t, i));
                            e.showDomeSurfaces && (e._domeVA = function (e) {
                                var n = T.EllipsoidGeometry.createGeometry(new T.EllipsoidGeometry({
                                    vertexFormat: j.POSITION_ONLY,
                                    stackPartitions: 32,
                                    slicePartitions: 32
                                }));
                                return G.fromGeometry({
                                    context: e,
                                    geometry: n,
                                    attributeLocations: ne,
                                    bufferUsage: F.STATIC_DRAW,
                                    interleave: !1
                                })
                            }(t));
                            e.showDomeLines && (e._domeLineVA = function (e) {
                                var n = T.EllipsoidOutlineGeometry.createGeometry(new T.EllipsoidOutlineGeometry({
                                    vertexFormat: j.POSITION_ONLY,
                                    stackPartitions: 32,
                                    slicePartitions: 32
                                }));
                                return G.fromGeometry({
                                    context: e,
                                    geometry: n,
                                    attributeLocations: ne,
                                    bufferUsage: F.STATIC_DRAW,
                                    interleave: !1
                                })
                            }(t));
                            if (e.showScanPlane)
                                if ("horizontal" == e.scanPlaneMode) {
                                    var r = ie(e, Z.PI_OVER_TWO, 0);
                                    e._scanPlaneVA = re(t, r.zox)
                                } else {
                                    var r = ie(e, 0, Z.PI_OVER_TWO);
                                    e._scanPlaneVA = re(t, r.zoy)
                                }
                        }(this, e),
                            o && function (e, n, t) {
                                t ? (e._frontFaceRS = N.fromCache({
                                    depthTest: {
                                        enabled: !n
                                    },
                                    depthMask: !1,
                                    blending: X.ALPHA_BLEND,
                                    cull: {
                                        enabled: !0,
                                        face: q.BACK
                                    }
                                }),
                                    e._backFaceRS = N.fromCache({
                                        depthTest: {
                                            enabled: !n
                                        },
                                        depthMask: !1,
                                        blending: X.ALPHA_BLEND,
                                        cull: {
                                            enabled: !0,
                                            face: q.FRONT
                                        }
                                    }),
                                    e._pickRS = N.fromCache({
                                        depthTest: {
                                            enabled: !n
                                        },
                                        depthMask: !1,
                                        blending: X.ALPHA_BLEND
                                    })) : (e._frontFaceRS = N.fromCache({
                                        depthTest: {
                                            enabled: !n
                                        },
                                        depthMask: !0
                                    }),
                                        e._pickRS = N.fromCache({
                                            depthTest: {
                                                enabled: !0
                                            },
                                            depthMask: !0
                                        }))
                            }(this, u, d),
                            i && function (e, n, t) {
                                (function (e, n, t) {
                                    var o = n.context
                                        , i = b.default
                                        , r = new Y({
                                            sources: [z.default, t.shaderSource, L.default]
                                        });
                                    e._sp = k.replaceCache({
                                        context: o,
                                        shaderProgram: e._sp,
                                        vertexShaderSource: i,
                                        fragmentShaderSource: r,
                                        attributeLocations: ne
                                    });
                                    var a = new Y({
                                        sources: [z.default, t.shaderSource, L.default],
                                        pickColorQualifier: "uniform"
                                    });
                                    e._pickSP = k.replaceCache({
                                        context: o,
                                        shaderProgram: e._pickSP,
                                        vertexShaderSource: i,
                                        fragmentShaderSource: a,
                                        attributeLocations: ne
                                    })
                                }
                                )(e, n, t),
                                    e.showScanPlane && function (e, n, t) {
                                        var o = n.context
                                            , i = b.default
                                            , r = new Y({
                                                sources: [z.default, t.shaderSource, D.default]
                                            });
                                        e._scanePlaneSP = k.replaceCache({
                                            context: o,
                                            shaderProgram: e._scanePlaneSP,
                                            vertexShaderSource: i,
                                            fragmentShaderSource: r,
                                            attributeLocations: ne
                                        })
                                    }(e, n, t)
                            }(this, e, c),
                            (o || i) && function (e, n) {
                                e._colorCommands.length = 0;
                                var t = n ? B.TRANSLUCENT : B.OPAQUE;
                                e.showLateralSurfaces && ae(e, e._sectorFrontCommand, e._sectorBackCommand, e._frontFaceRS, e._backFaceRS, e._sp, e._sectorVA, e._uniforms, e._computedModelMatrix, n, t);
                                e.showSectorLines && ae(e, e._sectorLineCommand, void 0, e._frontFaceRS, e._backFaceRS, e._sp, e._sectorLineVA, e._uniforms, e._computedModelMatrix, n, t, !0);
                                e.showSectorSegmentLines && ae(e, e._sectorSegmentLineCommand, void 0, e._frontFaceRS, e._backFaceRS, e._sp, e._sectorSegmentLineVA, e._uniforms, e._computedModelMatrix, n, t, !0);
                                e.showDomeSurfaces && ae(e, e._domeFrontCommand, e._domeBackCommand, e._frontFaceRS, e._backFaceRS, e._sp, e._domeVA, e._uniforms, e._computedModelMatrix, n, t);
                                e.showDomeLines && ae(e, e._domeLineCommand, void 0, e._frontFaceRS, e._backFaceRS, e._sp, e._domeLineVA, e._uniforms, e._computedModelMatrix, n, t, !0);
                                e.showScanPlane && ae(e, e._scanPlaneFrontCommand, e._scanPlaneBackCommand, e._frontFaceRS, e._backFaceRS, e._scanePlaneSP, e._scanPlaneVA, e._scanUniforms, e._computedScanPlaneModelMatrix, n, t)
                            }(this, d);
                        var y = e.commandList
                            , x = e.passes
                            , E = this._colorCommands;
                        if (x.render)
                            for (var P = 0, A = E.length; P < A; P++) {
                                var M = E[P];
                                y.push(M)
                            }
                    }
                }
            }
                ;
            var te = new Q
                , oe = new R;
            function ie(e, n, t) {
                for (var o = e.slice, i = K(t), r = $(t), a = K(n), s = $(n), l = ee(a * r), u = ee(i * s), c = [], d = 0; d < o; d++) {
                    var h = 2 * l * d / (o - 1) - l;
                    c.push(new R(0, m(h), K(h)))
                }
                var f = [];
                for (d = 0; d < o; d++) {
                    h = 2 * u * d / (o - 1) - u;
                    f.push(new R(m(h), 0, K(h)))
                }
                return {
                    zoy: c,
                    zox: f
                }
            }
            function re(e, n) {
                for (var t = n.length - 1, o = new Float32Array(9 * t), i = 0, r = 0; r < t; r++)
                    o[i++] = 0,
                        o[i++] = 0,
                        o[i++] = 0,
                        o[i++] = n[r].x,
                        o[i++] = n[r].y,
                        o[i++] = n[r].z,
                        o[i++] = n[r + 1].x,
                        o[i++] = n[r + 1].y,
                        o[i++] = n[r + 1].z;
                var a = W.createVertexBuffer({
                    context: e,
                    typedArray: o,
                    usage: F.STATIC_DRAW
                })
                    , s = 3 * Float32Array.BYTES_PER_ELEMENT
                    , l = [{
                        index: ne.position,
                        vertexBuffer: a,
                        componentsPerAttribute: 3,
                        componentDatatype: I.FLOAT,
                        offsetInBytes: 0,
                        strideInBytes: s
                    }];
                return new G({
                    context: e,
                    attributes: l
                })
            }
            function ae(e, n, t, o, i, r, a, s, l, u, c, d) {
                u && t && (t.vertexArray = a,
                    t.renderState = i,
                    t.shaderProgram = r,
                    t.uniformMap = h(s, e._material._uniforms),
                    t.uniformMap.u_normalDirection = function () {
                        return -1
                    }
                    ,
                    t.pass = c,
                    t.modelMatrix = l,
                    e._colorCommands.push(t)),
                    n.vertexArray = a,
                    n.renderState = o,
                    n.shaderProgram = r,
                    n.uniformMap = h(s, e._material._uniforms),
                    d && (n.uniformMap.u_type = function () {
                        return 1
                    }
                    ),
                    n.pass = c,
                    n.modelMatrix = l,
                    e._colorCommands.push(n)
            }
            n.RectangularSensorPrimitive = c
        }
        , function (e, n, t) {
            "use strict";
            var o, i = t(0), r = (o = i) && o.__esModule ? o : {
                default: o
            }, a = t(1), s = t(7), l = t(8);
            r.RectangularSensorPrimitive = a.RectangularSensorPrimitive,
                r.RectangularSensorGraphics = s.RectangularSensorGraphics,
                r.RectangularSensorVisualizer = l.RectangularSensorVisualizer;
            var u = r.DataSourceDisplay
                , c = u.defaultVisualizersCallback;
            u.defaultVisualizersCallback = function (e, n, t) {
                var o = t.entities;
                return c(e, n, t).concat([new l.RectangularSensorVisualizer(e, o)])
            }
        }
        , function (e, n) {
            e.exports = "attribute vec4 position;\r\nattribute vec3 normal;\r\n\r\nvarying vec3 v_position;\r\nvarying vec3 v_positionWC;\r\nvarying vec3 v_positionEC;\r\nvarying vec3 v_normalEC;\r\n\r\nvoid main()\r\n{\r\n    gl_Position = czm_modelViewProjection * position;\r\n    v_position = vec3(position);\r\n    v_positionWC = (czm_model * position).xyz;\r\n    v_positionEC = (czm_modelView * position).xyz;\r\n    v_normalEC = czm_normal * normal;\r\n}"
        }
        , function (e, n) {
            e.exports = '#ifdef GL_OES_standard_derivatives\r\n    #extension GL_OES_standard_derivatives : enable\r\n#endif\r\n\r\nuniform bool u_showIntersection;\r\nuniform bool u_showThroughEllipsoid;\r\n\r\nuniform float u_radius;\r\nuniform float u_xHalfAngle;\r\nuniform float u_yHalfAngle;\r\nuniform float u_normalDirection;\r\nuniform float u_type;\r\n\r\nvarying vec3 v_position;\r\nvarying vec3 v_positionWC;\r\nvarying vec3 v_positionEC;\r\nvarying vec3 v_normalEC;\r\n\r\nvec4 getColor(float sensorRadius, vec3 pointEC)\r\n{\r\n    czm_materialInput materialInput;\r\n\r\n    vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz;\r\n    materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC);\r\n    materialInput.str = pointMC / sensorRadius;\r\n\r\n    vec3 positionToEyeEC = -v_positionEC;\r\n    materialInput.positionToEyeEC = positionToEyeEC;\r\n\r\n    vec3 normalEC = normalize(v_normalEC);\r\n    materialInput.normalEC = u_normalDirection * normalEC;\r\n\r\n    czm_material material = czm_getMaterial(materialInput);\r\n\r\n    return mix(czm_phong(normalize(positionToEyeEC), material), vec4(material.diffuse, material.alpha), 0.4);\r\n\r\n}\r\n\r\nbool isOnBoundary(float value, float epsilon)\r\n{\r\n    float width = getIntersectionWidth();\r\n    float tolerance = width * epsilon;\r\n\r\n#ifdef GL_OES_standard_derivatives\r\n    float delta = max(abs(dFdx(value)), abs(dFdy(value)));\r\n    float pixels = width * delta;\r\n    float temp = abs(value);\r\n    // There are a couple things going on here.\r\n    // First we test the value at the current fragment to see if it is within the tolerance.\r\n    // We also want to check if the value of an adjacent pixel is within the tolerance,\r\n    // but we don\'t want to admit points that are obviously not on the surface.\r\n    // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2,\r\n    // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of\r\n    // the points is close to zero.\r\n    return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels);\r\n#else\r\n    return abs(value) < tolerance;\r\n#endif\r\n}\r\n\r\nvec4 shade(bool isOnBoundary)\r\n{\r\n    if (u_showIntersection && isOnBoundary)\r\n    {\r\n        return getIntersectionColor();\r\n    }\r\n    if(u_type == 1.0){\r\n        return getLineColor();\r\n    }\r\n    return getColor(u_radius, v_positionEC);\r\n}\r\n\r\nfloat ellipsoidSurfaceFunction(czm_ellipsoid ellipsoid, vec3 point)\r\n{\r\n    vec3 scaled = ellipsoid.inverseRadii * point;\r\n    return dot(scaled, scaled) - 1.0;\r\n}\r\n\r\nvoid main()\r\n{\r\n    vec3 sensorVertexWC = czm_model[3].xyz;      // (0.0, 0.0, 0.0) in model coordinates\r\n    vec3 sensorVertexEC = czm_modelView[3].xyz;  // (0.0, 0.0, 0.0) in model coordinates\r\n\r\n    //vec3 pixDir = normalize(v_position);\r\n    float positionX = v_position.x;\r\n    float positionY = v_position.y;\r\n    float positionZ = v_position.z;\r\n\r\n    vec3 zDir = vec3(0.0, 0.0, 1.0);\r\n    vec3 lineX = vec3(positionX, 0 ,positionZ);\r\n    vec3 lineY = vec3(0, positionY, positionZ);\r\n    float resX = dot(normalize(lineX), zDir);\r\n    if(resX < cos(u_xHalfAngle)-0.00001){\r\n        discard;\r\n    }\r\n    float resY = dot(normalize(lineY), zDir);\r\n    if(resY < cos(u_yHalfAngle)-0.00001){\r\n        discard;\r\n    }\r\n\r\n\r\n    czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\r\n    float ellipsoidValue = ellipsoidSurfaceFunction(ellipsoid, v_positionWC);\r\n\r\n    // Occluded by the ellipsoid?\r\n\tif (!u_showThroughEllipsoid)\r\n\t{\r\n\t    // Discard if in the ellipsoid\r\n\t    // PERFORMANCE_IDEA: A coarse check for ellipsoid intersection could be done on the CPU first.\r\n\t    if (ellipsoidValue < 0.0)\r\n\t    {\r\n            discard;\r\n\t    }\r\n\r\n\t    // Discard if in the sensor\'s shadow\r\n\t    if (inSensorShadow(sensorVertexWC, ellipsoid, v_positionWC))\r\n\t    {\r\n\t        discard;\r\n\t    }\r\n    }\r\n\r\n    // Notes: Each surface functions should have an associated tolerance based on the floating point error.\r\n    bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3);\r\n    //isOnEllipsoid = false;\r\n    //if((resX >= 0.8 && resX <= 0.81)||(resY >= 0.8 && resY <= 0.81)){\r\n    /*if(false){\r\n        gl_FragColor = vec4(1.0,0.0,0.0,1.0);\r\n    }else{\r\n        gl_FragColor = shade(isOnEllipsoid);\r\n    }\r\n*/\r\n    gl_FragColor = shade(isOnEllipsoid);\r\n\r\n}'
        }
        , function (e, n) {
            e.exports = "uniform vec4 u_intersectionColor;\nuniform float u_intersectionWidth;\nuniform vec4 u_lineColor;\n\nbool inSensorShadow(vec3 coneVertexWC, czm_ellipsoid ellipsoidEC, vec3 pointWC)\n{\n    // Diagonal matrix from the unscaled ellipsoid space to the scaled space.    \n    vec3 D = ellipsoidEC.inverseRadii;\n\n    // Sensor vertex in the scaled ellipsoid space\n    vec3 q = D * coneVertexWC;\n    float qMagnitudeSquared = dot(q, q);\n    float test = qMagnitudeSquared - 1.0;\n    \n    // Sensor vertex to fragment vector in the ellipsoid's scaled space\n    vec3 temp = D * pointWC - q;\n    float d = dot(temp, q);\n    \n    // Behind silhouette plane and inside silhouette cone\n    return (d < -test) && (d / length(temp) < -sqrt(test));\n}\n\n///////////////////////////////////////////////////////////////////////////////\n\nvec4 getLineColor()\n{\n    return u_lineColor;\n}\n\nvec4 getIntersectionColor()\n{\n    return u_intersectionColor;\n}\n\nfloat getIntersectionWidth()\n{\n    return u_intersectionWidth;\n}\n\nvec2 sensor2dTextureCoordinates(float sensorRadius, vec3 pointMC)\n{\n    // (s, t) both in the range [0, 1]\n    float t = pointMC.z / sensorRadius;\n    float s = 1.0 + (atan(pointMC.y, pointMC.x) / czm_twoPi);\n    s = s - floor(s);\n    \n    return vec2(s, t);\n}\n"
        }
        , function (e, n) {
            e.exports = '#ifdef GL_OES_standard_derivatives\r\n    #extension GL_OES_standard_derivatives : enable\r\n#endif\r\n\r\nuniform bool u_showIntersection;\r\nuniform bool u_showThroughEllipsoid;\r\n\r\nuniform float u_radius;\r\nuniform float u_xHalfAngle;\r\nuniform float u_yHalfAngle;\r\nuniform float u_normalDirection;\r\nuniform vec4 u_color;\r\n\r\nvarying vec3 v_position;\r\nvarying vec3 v_positionWC;\r\nvarying vec3 v_positionEC;\r\nvarying vec3 v_normalEC;\r\n\r\nvec4 getColor(float sensorRadius, vec3 pointEC)\r\n{\r\n    czm_materialInput materialInput;\r\n\r\n    vec3 pointMC = (czm_inverseModelView * vec4(pointEC, 1.0)).xyz;\r\n    materialInput.st = sensor2dTextureCoordinates(sensorRadius, pointMC);\r\n    materialInput.str = pointMC / sensorRadius;\r\n\r\n    vec3 positionToEyeEC = -v_positionEC;\r\n    materialInput.positionToEyeEC = positionToEyeEC;\r\n\r\n    vec3 normalEC = normalize(v_normalEC);\r\n    materialInput.normalEC = u_normalDirection * normalEC;\r\n\r\n    czm_material material = czm_getMaterial(materialInput);\r\n\r\n    material.diffuse = u_color.rgb;\r\n    material.alpha = u_color.a;\r\n\r\n    return mix(czm_phong(normalize(positionToEyeEC), material), vec4(material.diffuse, material.alpha), 0.4);\r\n\r\n}\r\n\r\nbool isOnBoundary(float value, float epsilon)\r\n{\r\n    float width = getIntersectionWidth();\r\n    float tolerance = width * epsilon;\r\n\r\n#ifdef GL_OES_standard_derivatives\r\n    float delta = max(abs(dFdx(value)), abs(dFdy(value)));\r\n    float pixels = width * delta;\r\n    float temp = abs(value);\r\n    // There are a couple things going on here.\r\n    // First we test the value at the current fragment to see if it is within the tolerance.\r\n    // We also want to check if the value of an adjacent pixel is within the tolerance,\r\n    // but we don\'t want to admit points that are obviously not on the surface.\r\n    // For example, if we are looking for "value" to be close to 0, but value is 1 and the adjacent value is 2,\r\n    // then the delta would be 1 and "temp - delta" would be "1 - 1" which is zero even though neither of\r\n    // the points is close to zero.\r\n    return temp < tolerance && temp < pixels || (delta < 10.0 * tolerance && temp - delta < tolerance && temp < pixels);\r\n#else\r\n    return abs(value) < tolerance;\r\n#endif\r\n}\r\n\r\nvec4 shade(bool isOnBoundary)\r\n{\r\n    if (u_showIntersection && isOnBoundary)\r\n    {\r\n        return getIntersectionColor();\r\n    }\r\n    return getColor(u_radius, v_positionEC);\r\n}\r\n\r\nfloat ellipsoidSurfaceFunction(czm_ellipsoid ellipsoid, vec3 point)\r\n{\r\n    vec3 scaled = ellipsoid.inverseRadii * point;\r\n    return dot(scaled, scaled) - 1.0;\r\n}\r\n\r\nvoid main()\r\n{\r\n    vec3 sensorVertexWC = czm_model[3].xyz;      // (0.0, 0.0, 0.0) in model coordinates\r\n    vec3 sensorVertexEC = czm_modelView[3].xyz;  // (0.0, 0.0, 0.0) in model coordinates\r\n\r\n    //vec3 pixDir = normalize(v_position);\r\n    float positionX = v_position.x;\r\n    float positionY = v_position.y;\r\n    float positionZ = v_position.z;\r\n\r\n    vec3 zDir = vec3(0.0, 0.0, 1.0);\r\n    vec3 lineX = vec3(positionX, 0 ,positionZ);\r\n    vec3 lineY = vec3(0, positionY, positionZ);\r\n    float resX = dot(normalize(lineX), zDir);\r\n    if(resX < cos(u_xHalfAngle) - 0.0001){\r\n        discard;\r\n    }\r\n    float resY = dot(normalize(lineY), zDir);\r\n    if(resY < cos(u_yHalfAngle)- 0.0001){\r\n        discard;\r\n    }\r\n\r\n\r\n    czm_ellipsoid ellipsoid = czm_getWgs84EllipsoidEC();\r\n    float ellipsoidValue = ellipsoidSurfaceFunction(ellipsoid, v_positionWC);\r\n\r\n    // Occluded by the ellipsoid?\r\n\tif (!u_showThroughEllipsoid)\r\n\t{\r\n\t    // Discard if in the ellipsoid\r\n\t    // PERFORMANCE_IDEA: A coarse check for ellipsoid intersection could be done on the CPU first.\r\n\t    if (ellipsoidValue < 0.0)\r\n\t    {\r\n            discard;\r\n\t    }\r\n\r\n\t    // Discard if in the sensor\'s shadow\r\n\t    if (inSensorShadow(sensorVertexWC, ellipsoid, v_positionWC))\r\n\t    {\r\n\t        discard;\r\n\t    }\r\n    }\r\n\r\n    // Notes: Each surface functions should have an associated tolerance based on the floating point error.\r\n    bool isOnEllipsoid = isOnBoundary(ellipsoidValue, czm_epsilon3);\r\n    gl_FragColor = shade(isOnEllipsoid);\r\n\r\n}'
        }
        , function (e, n, t) {
            "use strict";
            Object.defineProperty(n, "__esModule", {
                value: !0
            }),
                n.RectangularSensorGraphics = void 0;
            var o, i = t(0), r = (o = i) && o.__esModule ? o : {
                default: o
            };
            //xpÐÞ¸Är.default.defaultValue
            var a = r.defaultValue
                , s = r.defined
                , l = r.defineProperties
                , u = r.DeveloperError
                , c = r.Event
                , d = r.createMaterialPropertyDescriptor
                , h = r.createPropertyDescriptor;
            function f(e) {
                this._show = void 0,
                    this._radius = void 0,
                    this._xHalfAngle = void 0,
                    this._yHalfAngle = void 0,
                    this._lineColor = void 0,
                    this._showSectorLines = void 0,
                    this._showSectorSegmentLines = void 0,
                    this._showLateralSurfaces = void 0,
                    this._material = void 0,
                    this._showDomeSurfaces = void 0,
                    this._showDomeLines = void 0,
                    this._showIntersection = void 0,
                    this._intersectionColor = void 0,
                    this._intersectionWidth = void 0,
                    this._showThroughEllipsoid = void 0,
                    this._gaze = void 0,
                    this._showScanPlane = void 0,
                    this._scanPlaneColor = void 0,
                    this._scanPlaneMode = void 0,
                    this._scanPlaneRate = void 0,
                    this._definitionChanged = new c,
                    this.merge(a(e, a.EMPTY_OBJECT))
            }
            l(f.prototype, {
                definitionChanged: {
                    get: function () {
                        return this._definitionChanged
                    }
                },
                show: h("show"),
                radius: h("radius"),
                xHalfAngle: h("xHalfAngle"),
                yHalfAngle: h("yHalfAngle"),
                lineColor: h("lineColor"),
                showSectorLines: h("showSectorLines"),
                showSectorSegmentLines: h("showSectorSegmentLines"),
                showLateralSurfaces: h("showLateralSurfaces"),
                material: d("material"),
                showDomeSurfaces: h("showDomeSurfaces"),
                showDomeLines: h("showDomeLines "),
                showIntersection: h("showIntersection"),
                intersectionColor: h("intersectionColor"),
                intersectionWidth: h("intersectionWidth"),
                showThroughEllipsoid: h("showThroughEllipsoid"),
                gaze: h("gaze"),
                showScanPlane: h("showScanPlane"),
                scanPlaneColor: h("scanPlaneColor"),
                scanPlaneMode: h("scanPlaneMode"),
                scanPlaneRate: h("scanPlaneRate")
            }),
                f.prototype.clone = function (e) {
                    return s(e) || (e = new f),
                        e.show = this.show,
                        e.radius = this.radius,
                        e.xHalfAngle = this.xHalfAngle,
                        e.yHalfAngle = this.yHalfAngle,
                        e.lineColor = this.lineColor,
                        e.showSectorLines = this.showSectorLines,
                        e.showSectorSegmentLines = this.showSectorSegmentLines,
                        e.showLateralSurfaces = this.showLateralSurfaces,
                        e.material = this.material,
                        e.showDomeSurfaces = this.showDomeSurfaces,
                        e.showDomeLines = this.showDomeLines,
                        e.showIntersection = this.showIntersection,
                        e.intersectionColor = this.intersectionColor,
                        e.intersectionWidth = this.intersectionWidth,
                        e.showThroughEllipsoid = this.showThroughEllipsoid,
                        e.gaze = this.gaze,
                        e.showScanPlane = this.showScanPlane,
                        e.scanPlaneColor = this.scanPlaneColor,
                        e.scanPlaneMode = this.scanPlaneMode,
                        e.scanPlaneRate = this.scanPlaneRate,
                        e
                }
                ,
                f.prototype.merge = function (e) {
                    if (!s(e))
                        throw new u("source is required.");
                    this.show = a(this.show, e.show),
                        this.radius = a(this.radius, e.radius),
                        this.xHalfAngle = a(this.xHalfAngle, e.xHalfAngle),
                        this.yHalfAngle = a(this.yHalfAngle, e.yHalfAngle),
                        this.lineColor = a(this.lineColor, e.lineColor),
                        this.showSectorLines = a(this.showSectorLines, e.showSectorLines),
                        this.showSectorSegmentLines = a(this.showSectorSegmentLines, e.showSectorSegmentLines),
                        this.showLateralSurfaces = a(this.showLateralSurfaces, e.showLateralSurfaces),
                        this.material = a(this.material, e.material),
                        this.showDomeSurfaces = a(this.showDomeSurfaces, e.showDomeSurfaces),
                        this.showDomeLines = a(this.showDomeLines, e.showDomeLines),
                        this.showIntersection = a(this.showIntersection, e.showIntersection),
                        this.intersectionColor = a(this.intersectionColor, e.intersectionColor),
                        this.intersectionWidth = a(this.intersectionWidth, e.intersectionWidth),
                        this.showThroughEllipsoid = a(this.showThroughEllipsoid, e.showThroughEllipsoid),
                        this.gaze = a(this.gaze, e.gaze),
                        this.showScanPlane = a(this.showScanPlane, e.showScanPlane),
                        this.scanPlaneColor = a(this.scanPlaneColor, e.scanPlaneColor),
                        this.scanPlaneMode = a(this.scanPlaneMode, e.scanPlaneMode),
                        this.scanPlaneRate = a(this.scanPlaneRate, e.scanPlaneRate)
                }
                ,
                n.RectangularSensorGraphics = f
        }
        , function (e, n, t) {
            "use strict";
            Object.defineProperty(n, "__esModule", {
                value: !0
            }),
                n.RectangularSensorVisualizer = void 0;
            var o, i = t(0), C = (o = i) && o.__esModule ? o : {
                default: o
            }, y = t(1), u = t(9);
            //xpÐÞ¸Ä var r = C.default.AssociativeArray
            var r = C.AssociativeArray
                , x = C.Cartesian3
                , E = C.Color
                , P = C.defined
                , a = C.destroyObject
                , A = C.DeveloperError
                , M = C.Matrix3
                , T = C.Matrix4
                , b = C.Quaternion
                , L = C.MaterialProperty
                , z = C.Property
                , D = new M
                , V = (new T,
                    new x)
                , R = new x
                , I = new b
                , O = new x
                , H = new b
                , s = function e(n, t) {
                    if (!P(n))
                        throw new A("scene is required.");
                    if (!P(t))
                        throw new A("entityCollection is required.");
                    t.collectionChanged.addEventListener(e.prototype._onCollectionChanged, this),
                        this._scene = n,
                        this._primitives = n.primitives,
                        this._entityCollection = t,
                        this._hash = {},
                        this._entitiesToVisualize = new r,
                        this._onCollectionChanged(t, t.values, [], [])
                };
            s.prototype.update = function (e) {
                if (!P(e))
                    throw new A("time is required.");
                for (var n = this._entitiesToVisualize.values, t = this._hash, o = this._primitives, i = 0, r = n.length; i < r; i++) {
                    var a, s, l, u, c = n[i], d = c._rectangularSensor, h = t[c.id], f = c.isShowing && c.isAvailable(e) && z.getValueOrDefault(d._show, e, !0);
                    if (f && (a = z.getValueOrUndefined(c._position, e, V),
                        S = z.getValueOrUndefined(c._orientation, e, I),
                        s = z.getValueOrUndefined(d._radius, e),
                        l = z.getValueOrUndefined(d._xHalfAngle, e),
                        u = z.getValueOrUndefined(d._yHalfAngle, e),
                        f = P(a) && P(l) && P(u)),
                        f) {
                        var m = P(h) ? h.primitive : void 0;
                        P(m) || ((m = new y.RectangularSensorPrimitive).id = c,
                            o.add(m),
                            h = {
                                primitive: m,
                                position: void 0,
                                orientation: void 0
                            },
                            t[c.id] = h);
                        var p = z.getValueOrUndefined(d._gaze, e);
                        if (P(p)) {
                            var _ = z.getValueOrUndefined(p._position, e, R);
                            if (!P(a) || !P(_))
                                continue;
                            var v = x.subtract(a, _, O)
                                , g = x.angleBetween(C.Cartesian3.UNIT_Z, v)
                                , w = x.cross(C.Cartesian3.UNIT_Z, v, O)
                                , S = b.fromAxisAngle(w, g - Math.PI, H);
                            s = x.distance(a, _),
                                m.modelMatrix = T.fromRotationTranslation(M.fromQuaternion(S, D), a, m.modelMatrix)
                        } else
                            x.equals(a, h.position) && b.equals(S, h.orientation) || (P(S) ? (m.modelMatrix = T.fromRotationTranslation(M.fromQuaternion(S, D), a, m.modelMatrix),
                                h.position = x.clone(a, h.position),
                                h.orientation = b.clone(S, h.orientation)) : (m.modelMatrix = C.Transforms.eastNorthUpToFixedFrame(a),
                                    h.position = x.clone(a, h.position)));
                        m.show = !0,
                            m.gaze = p,
                            m.radius = s,
                            m.xHalfAngle = l,
                            m.yHalfAngle = u,
                            m.lineColor = z.getValueOrDefault(d._lineColor, e, E.WHITE),
                            m.showSectorLines = z.getValueOrDefault(d._showSectorLines, e, !0),
                            m.showSectorSegmentLines = z.getValueOrDefault(d._showSectorSegmentLines, e, !0),
                            m.showLateralSurfaces = z.getValueOrDefault(d._showLateralSurfaces, e, !0),
                            m.material = L.getValue(e, d._material, m.material),
                            m.showDomeSurfaces = z.getValueOrDefault(d._showDomeSurfaces, e, !0),
                            m.showDomeLines = z.getValueOrDefault(d._showDomeLines, e, !0),
                            m.showIntersection = z.getValueOrDefault(d._showIntersection, e, !0),
                            m.intersectionColor = z.getValueOrDefault(d._intersectionColor, e, E.WHITE),
                            m.intersectionWidth = z.getValueOrDefault(d._intersectionWidth, e, 1),
                            m.showThroughEllipsoid = z.getValueOrDefault(d._showThroughEllipsoid, e, !0),
                            m.scanPlaneMode = z.getValueOrDefault(d._scanPlaneMode, e),
                            m.scanPlaneColor = z.getValueOrDefault(d._scanPlaneColor, e, E.WHITE),
                            m.showScanPlane = z.getValueOrDefault(d._showScanPlane, e, !0),
                            m.scanPlaneRate = z.getValueOrDefault(d._scanPlaneRate, e, 1)
                    } else
                        P(h) && (h.primitive.show = !1)
                }
                return !0
            }
                ,
                s.prototype.isDestroyed = function () {
                    return !1
                }
                ,
                s.prototype.destroy = function () {
                    for (var e = this._entitiesToVisualize.values, n = this._hash, t = this._primitives, o = e.length - 1; -1 < o; o--)
                        (0,
                            u.removePrimitive)(e[o], n, t);
                    return a(this)
                }
                ,
                s.prototype._onCollectionChanged = function (e, n, t, o) {
                    var i, r, a = this._entitiesToVisualize, s = this._hash, l = this._primitives;
                    for (i = n.length - 1; -1 < i; i--)
                        r = n[i],
                            P(r._rectangularSensor) && P(r._position) && a.set(r.id, r);
                    for (i = o.length - 1; -1 < i; i--)
                        r = o[i],
                            P(r._rectangularSensor) && P(r._position) ? a.set(r.id, r) : ((0,
                                u.removePrimitive)(r, s, l),
                                a.remove(r.id));
                    for (i = t.length - 1; -1 < i; i--)
                        r = t[i],
                            (0,
                                u.removePrimitive)(r, s, l),
                            a.remove(r.id)
                }
                ,
                n.RectangularSensorVisualizer = s
        }
        , function (e, n, t) {
            "use strict";
            Object.defineProperty(n, "__esModule", {
                value: !0
            }),
                n.removePrimitive = function (e, n, t) {
                    var o = n[e.id];
                    if (r(o)) {
                        var i = o.primitive;
                        try {
                            t.remove(i)
                        } catch (e) { }
                        i.isDestroyed && !i.isDestroyed() && i.destroy(),
                            delete n[e.id]
                    }
                }
                ;
            var o, i = t(0);
            //xpÐÞ¸Ä.default.defined
            var r = ((o = i) && o.__esModule ? o : {
                default: o
            }).defined
        }
    ])
});