qd-changjing/public/static/Build/CesiumUnminified/Workers/BoundingRectangle-8f2409a1....

1 line
21 KiB
Plaintext

{"version":3,"file":"BoundingRectangle-8f2409a1.js","sources":["../../../../Source/Core/BoundingRectangle.js"],"sourcesContent":["import Cartesian2 from \"./Cartesian2.js\";\nimport Cartographic from \"./Cartographic.js\";\nimport Check from \"./Check.js\";\nimport defaultValue from \"./defaultValue.js\";\nimport defined from \"./defined.js\";\nimport GeographicProjection from \"./GeographicProjection.js\";\nimport Intersect from \"./Intersect.js\";\nimport Rectangle from \"./Rectangle.js\";\n\n/**\n * A bounding rectangle given by a corner, width and height.\n * @alias BoundingRectangle\n * @constructor\n *\n * @param {Number} [x=0.0] The x coordinate of the rectangle.\n * @param {Number} [y=0.0] The y coordinate of the rectangle.\n * @param {Number} [width=0.0] The width of the rectangle.\n * @param {Number} [height=0.0] The height of the rectangle.\n *\n * @see BoundingSphere\n * @see Packable\n */\nfunction BoundingRectangle(x, y, width, height) {\n /**\n * The x coordinate of the rectangle.\n * @type {Number}\n * @default 0.0\n */\n this.x = defaultValue(x, 0.0);\n\n /**\n * The y coordinate of the rectangle.\n * @type {Number}\n * @default 0.0\n */\n this.y = defaultValue(y, 0.0);\n\n /**\n * The width of the rectangle.\n * @type {Number}\n * @default 0.0\n */\n this.width = defaultValue(width, 0.0);\n\n /**\n * The height of the rectangle.\n * @type {Number}\n * @default 0.0\n */\n this.height = defaultValue(height, 0.0);\n}\n\n/**\n * The number of elements used to pack the object into an array.\n * @type {Number}\n */\nBoundingRectangle.packedLength = 4;\n\n/**\n * Stores the provided instance into the provided array.\n *\n * @param {BoundingRectangle} value The value to pack.\n * @param {Number[]} array The array to pack into.\n * @param {Number} [startingIndex=0] The index into the array at which to start packing the elements.\n *\n * @returns {Number[]} The array that was packed into\n */\nBoundingRectangle.pack = function (value, array, startingIndex) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"value\", value);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n array[startingIndex++] = value.x;\n array[startingIndex++] = value.y;\n array[startingIndex++] = value.width;\n array[startingIndex] = value.height;\n\n return array;\n};\n\n/**\n * Retrieves an instance from a packed array.\n *\n * @param {Number[]} array The packed array.\n * @param {Number} [startingIndex=0] The starting index of the element to be unpacked.\n * @param {BoundingRectangle} [result] The object into which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.unpack = function (array, startingIndex, result) {\n //>>includeStart('debug', pragmas.debug);\n Check.defined(\"array\", array);\n //>>includeEnd('debug');\n\n startingIndex = defaultValue(startingIndex, 0);\n\n if (!defined(result)) {\n result = new BoundingRectangle();\n }\n result.x = array[startingIndex++];\n result.y = array[startingIndex++];\n result.width = array[startingIndex++];\n result.height = array[startingIndex];\n return result;\n};\n\n/**\n * Computes a bounding rectangle enclosing the list of 2D points.\n * The rectangle is oriented with the corner at the bottom left.\n *\n * @param {Cartesian2[]} positions List of points that the bounding rectangle will enclose. Each point must have <code>x</code> and <code>y</code> properties.\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.fromPoints = function (positions, result) {\n if (!defined(result)) {\n result = new BoundingRectangle();\n }\n\n if (!defined(positions) || positions.length === 0) {\n result.x = 0;\n result.y = 0;\n result.width = 0;\n result.height = 0;\n return result;\n }\n\n const length = positions.length;\n\n let minimumX = positions[0].x;\n let minimumY = positions[0].y;\n\n let maximumX = positions[0].x;\n let maximumY = positions[0].y;\n\n for (let i = 1; i < length; i++) {\n const p = positions[i];\n const x = p.x;\n const y = p.y;\n\n minimumX = Math.min(x, minimumX);\n maximumX = Math.max(x, maximumX);\n minimumY = Math.min(y, minimumY);\n maximumY = Math.max(y, maximumY);\n }\n\n result.x = minimumX;\n result.y = minimumY;\n result.width = maximumX - minimumX;\n result.height = maximumY - minimumY;\n return result;\n};\n\nconst defaultProjection = new GeographicProjection();\nconst fromRectangleLowerLeft = new Cartographic();\nconst fromRectangleUpperRight = new Cartographic();\n/**\n * Computes a bounding rectangle from a rectangle.\n *\n * @param {Rectangle} rectangle The valid rectangle used to create a bounding rectangle.\n * @param {Object} [projection=GeographicProjection] The projection used to project the rectangle into 2D.\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.fromRectangle = function (rectangle, projection, result) {\n if (!defined(result)) {\n result = new BoundingRectangle();\n }\n\n if (!defined(rectangle)) {\n result.x = 0;\n result.y = 0;\n result.width = 0;\n result.height = 0;\n return result;\n }\n\n projection = defaultValue(projection, defaultProjection);\n\n const lowerLeft = projection.project(\n Rectangle.southwest(rectangle, fromRectangleLowerLeft)\n );\n const upperRight = projection.project(\n Rectangle.northeast(rectangle, fromRectangleUpperRight)\n );\n\n Cartesian2.subtract(upperRight, lowerLeft, upperRight);\n\n result.x = lowerLeft.x;\n result.y = lowerLeft.y;\n result.width = upperRight.x;\n result.height = upperRight.y;\n return result;\n};\n\n/**\n * Duplicates a BoundingRectangle instance.\n *\n * @param {BoundingRectangle} rectangle The bounding rectangle to duplicate.\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided. (Returns undefined if rectangle is undefined)\n */\nBoundingRectangle.clone = function (rectangle, result) {\n if (!defined(rectangle)) {\n return undefined;\n }\n\n if (!defined(result)) {\n return new BoundingRectangle(\n rectangle.x,\n rectangle.y,\n rectangle.width,\n rectangle.height\n );\n }\n\n result.x = rectangle.x;\n result.y = rectangle.y;\n result.width = rectangle.width;\n result.height = rectangle.height;\n return result;\n};\n\n/**\n * Computes a bounding rectangle that is the union of the left and right bounding rectangles.\n *\n * @param {BoundingRectangle} left A rectangle to enclose in bounding rectangle.\n * @param {BoundingRectangle} right A rectangle to enclose in a bounding rectangle.\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.union = function (left, right, result) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"left\", left);\n Check.typeOf.object(\"right\", right);\n //>>includeEnd('debug');\n\n if (!defined(result)) {\n result = new BoundingRectangle();\n }\n\n const lowerLeftX = Math.min(left.x, right.x);\n const lowerLeftY = Math.min(left.y, right.y);\n const upperRightX = Math.max(left.x + left.width, right.x + right.width);\n const upperRightY = Math.max(left.y + left.height, right.y + right.height);\n\n result.x = lowerLeftX;\n result.y = lowerLeftY;\n result.width = upperRightX - lowerLeftX;\n result.height = upperRightY - lowerLeftY;\n return result;\n};\n\n/**\n * Computes a bounding rectangle by enlarging the provided rectangle until it contains the provided point.\n *\n * @param {BoundingRectangle} rectangle A rectangle to expand.\n * @param {Cartesian2} point A point to enclose in a bounding rectangle.\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.expand = function (rectangle, point, result) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"rectangle\", rectangle);\n Check.typeOf.object(\"point\", point);\n //>>includeEnd('debug');\n\n result = BoundingRectangle.clone(rectangle, result);\n\n const width = point.x - result.x;\n const height = point.y - result.y;\n\n if (width > result.width) {\n result.width = width;\n } else if (width < 0) {\n result.width -= width;\n result.x = point.x;\n }\n\n if (height > result.height) {\n result.height = height;\n } else if (height < 0) {\n result.height -= height;\n result.y = point.y;\n }\n\n return result;\n};\n\n/**\n * Determines if two rectangles intersect.\n *\n * @param {BoundingRectangle} left A rectangle to check for intersection.\n * @param {BoundingRectangle} right The other rectangle to check for intersection.\n * @returns {Intersect} <code>Intersect.INTERSECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.\n */\nBoundingRectangle.intersect = function (left, right) {\n //>>includeStart('debug', pragmas.debug);\n Check.typeOf.object(\"left\", left);\n Check.typeOf.object(\"right\", right);\n //>>includeEnd('debug');\n\n const leftX = left.x;\n const leftY = left.y;\n const rightX = right.x;\n const rightY = right.y;\n if (\n !(\n leftX > rightX + right.width ||\n leftX + left.width < rightX ||\n leftY + left.height < rightY ||\n leftY > rightY + right.height\n )\n ) {\n return Intersect.INTERSECTING;\n }\n\n return Intersect.OUTSIDE;\n};\n\n/**\n * Compares the provided BoundingRectangles componentwise and returns\n * <code>true</code> if they are equal, <code>false</code> otherwise.\n *\n * @param {BoundingRectangle} [left] The first BoundingRectangle.\n * @param {BoundingRectangle} [right] The second BoundingRectangle.\n * @returns {Boolean} <code>true</code> if left and right are equal, <code>false</code> otherwise.\n */\nBoundingRectangle.equals = function (left, right) {\n return (\n left === right ||\n (defined(left) &&\n defined(right) &&\n left.x === right.x &&\n left.y === right.y &&\n left.width === right.width &&\n left.height === right.height)\n );\n};\n\n/**\n * Duplicates this BoundingRectangle instance.\n *\n * @param {BoundingRectangle} [result] The object onto which to store the result.\n * @returns {BoundingRectangle} The modified result parameter or a new BoundingRectangle instance if one was not provided.\n */\nBoundingRectangle.prototype.clone = function (result) {\n return BoundingRectangle.clone(this, result);\n};\n\n/**\n * Determines if this rectangle intersects with another.\n *\n * @param {BoundingRectangle} right A rectangle to check for intersection.\n * @returns {Intersect} <code>Intersect.INTERSECTING</code> if the rectangles intersect, <code>Intersect.OUTSIDE</code> otherwise.\n */\nBoundingRectangle.prototype.intersect = function (right) {\n return BoundingRectangle.intersect(this, right);\n};\n\n/**\n * Compares this BoundingRectangle against the provided BoundingRectangle componentwise and returns\n * <code>true</code> if they are equal, <code>false</code> otherwise.\n *\n * @param {BoundingRectangle} [right] The right hand side BoundingRectangle.\n * @returns {Boolean} <code>true</code> if they are equal, <code>false</code> otherwise.\n */\nBoundingRectangle.prototype.equals = function (right) {\n return BoundingRectangle.equals(this, right);\n};\nexport default BoundingRectangle;\n"],"names":["defaultValue","Check","defined","GeographicProjection","Cartographic","Rectangle","Cartesian2","Intersect"],"mappings":"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"}