RectangleGeometryLibrary-3ec48410.js.map 16 KB

1
  1. {"version":3,"file":"RectangleGeometryLibrary-3ec48410.js","sources":["../../../../Source/Core/RectangleGeometryLibrary.js"],"sourcesContent":["import Cartesian3 from \"./Cartesian3.js\";\nimport Cartographic from \"./Cartographic.js\";\nimport defined from \"./defined.js\";\nimport DeveloperError from \"./DeveloperError.js\";\nimport GeographicProjection from \"./GeographicProjection.js\";\nimport CesiumMath from \"./Math.js\";\nimport Matrix2 from \"./Matrix2.js\";\nimport Rectangle from \"./Rectangle.js\";\n\nvar cos = Math.cos;\nvar sin = Math.sin;\nvar sqrt = Math.sqrt;\n\n/**\n * @private\n */\nvar RectangleGeometryLibrary = {};\n\n/**\n * @private\n */\nRectangleGeometryLibrary.computePosition = function (\n computedOptions,\n ellipsoid,\n computeST,\n row,\n col,\n position,\n st\n) {\n var radiiSquared = ellipsoid.radiiSquared;\n var nwCorner = computedOptions.nwCorner;\n var rectangle = computedOptions.boundingRectangle;\n\n var stLatitude =\n nwCorner.latitude -\n computedOptions.granYCos * row +\n col * computedOptions.granXSin;\n var cosLatitude = cos(stLatitude);\n var nZ = sin(stLatitude);\n var kZ = radiiSquared.z * nZ;\n\n var stLongitude =\n nwCorner.longitude +\n row * computedOptions.granYSin +\n col * computedOptions.granXCos;\n var nX = cosLatitude * cos(stLongitude);\n var nY = cosLatitude * sin(stLongitude);\n\n var kX = radiiSquared.x * nX;\n var kY = radiiSquared.y * nY;\n\n var gamma = sqrt(kX * nX + kY * nY + kZ * nZ);\n\n position.x = kX / gamma;\n position.y = kY / gamma;\n position.z = kZ / gamma;\n\n if (computeST) {\n var stNwCorner = computedOptions.stNwCorner;\n if (defined(stNwCorner)) {\n stLatitude =\n stNwCorner.latitude -\n computedOptions.stGranYCos * row +\n col * computedOptions.stGranXSin;\n stLongitude =\n stNwCorner.longitude +\n row * computedOptions.stGranYSin +\n col * computedOptions.stGranXCos;\n\n st.x = (stLongitude - computedOptions.stWest) * computedOptions.lonScalar;\n st.y = (stLatitude - computedOptions.stSouth) * computedOptions.latScalar;\n } else {\n st.x = (stLongitude - rectangle.west) * computedOptions.lonScalar;\n st.y = (stLatitude - rectangle.south) * computedOptions.latScalar;\n }\n }\n};\n\nvar rotationMatrixScratch = new Matrix2();\nvar nwCartesian = new Cartesian3();\nvar centerScratch = new Cartographic();\nvar centerCartesian = new Cartesian3();\nvar proj = new GeographicProjection();\n\nfunction getRotationOptions(\n nwCorner,\n rotation,\n granularityX,\n granularityY,\n center,\n width,\n height\n) {\n var cosRotation = Math.cos(rotation);\n var granYCos = granularityY * cosRotation;\n var granXCos = granularityX * cosRotation;\n\n var sinRotation = Math.sin(rotation);\n var granYSin = granularityY * sinRotation;\n var granXSin = granularityX * sinRotation;\n\n nwCartesian = proj.project(nwCorner, nwCartesian);\n\n nwCartesian = Cartesian3.subtract(nwCartesian, centerCartesian, nwCartesian);\n var rotationMatrix = Matrix2.fromRotation(rotation, rotationMatrixScratch);\n nwCartesian = Matrix2.multiplyByVector(\n rotationMatrix,\n nwCartesian,\n nwCartesian\n );\n nwCartesian = Cartesian3.add(nwCartesian, centerCartesian, nwCartesian);\n nwCorner = proj.unproject(nwCartesian, nwCorner);\n\n width -= 1;\n height -= 1;\n\n var latitude = nwCorner.latitude;\n var latitude0 = latitude + width * granXSin;\n var latitude1 = latitude - granYCos * height;\n var latitude2 = latitude - granYCos * height + width * granXSin;\n\n var north = Math.max(latitude, latitude0, latitude1, latitude2);\n var south = Math.min(latitude, latitude0, latitude1, latitude2);\n\n var longitude = nwCorner.longitude;\n var longitude0 = longitude + width * granXCos;\n var longitude1 = longitude + height * granYSin;\n var longitude2 = longitude + height * granYSin + width * granXCos;\n\n var east = Math.max(longitude, longitude0, longitude1, longitude2);\n var west = Math.min(longitude, longitude0, longitude1, longitude2);\n\n return {\n north: north,\n south: south,\n east: east,\n west: west,\n granYCos: granYCos,\n granYSin: granYSin,\n granXCos: granXCos,\n granXSin: granXSin,\n nwCorner: nwCorner,\n };\n}\n\n/**\n * @private\n */\nRectangleGeometryLibrary.computeOptions = function (\n rectangle,\n granularity,\n rotation,\n stRotation,\n boundingRectangleScratch,\n nwCornerResult,\n stNwCornerResult\n) {\n var east = rectangle.east;\n var west = rectangle.west;\n var north = rectangle.north;\n var south = rectangle.south;\n\n var northCap = false;\n var southCap = false;\n\n if (north === CesiumMath.PI_OVER_TWO) {\n northCap = true;\n }\n if (south === -CesiumMath.PI_OVER_TWO) {\n southCap = true;\n }\n\n var width;\n var height;\n var granularityX;\n var granularityY;\n var dx;\n var dy = north - south;\n if (west > east) {\n dx = CesiumMath.TWO_PI - west + east;\n } else {\n dx = east - west;\n }\n\n width = Math.ceil(dx / granularity) + 1;\n height = Math.ceil(dy / granularity) + 1;\n granularityX = dx / (width - 1);\n granularityY = dy / (height - 1);\n\n var nwCorner = Rectangle.northwest(rectangle, nwCornerResult);\n var center = Rectangle.center(rectangle, centerScratch);\n if (rotation !== 0 || stRotation !== 0) {\n if (center.longitude < nwCorner.longitude) {\n center.longitude += CesiumMath.TWO_PI;\n }\n centerCartesian = proj.project(center, centerCartesian);\n }\n\n var granYCos = granularityY;\n var granXCos = granularityX;\n var granYSin = 0.0;\n var granXSin = 0.0;\n\n var boundingRectangle = Rectangle.clone(rectangle, boundingRectangleScratch);\n\n var computedOptions = {\n granYCos: granYCos,\n granYSin: granYSin,\n granXCos: granXCos,\n granXSin: granXSin,\n nwCorner: nwCorner,\n boundingRectangle: boundingRectangle,\n width: width,\n height: height,\n northCap: northCap,\n southCap: southCap,\n };\n\n if (rotation !== 0) {\n var rotationOptions = getRotationOptions(\n nwCorner,\n rotation,\n granularityX,\n granularityY,\n center,\n width,\n height\n );\n north = rotationOptions.north;\n south = rotationOptions.south;\n east = rotationOptions.east;\n west = rotationOptions.west;\n\n //>>includeStart('debug', pragmas.debug);\n if (\n north < -CesiumMath.PI_OVER_TWO ||\n north > CesiumMath.PI_OVER_TWO ||\n south < -CesiumMath.PI_OVER_TWO ||\n south > CesiumMath.PI_OVER_TWO\n ) {\n throw new DeveloperError(\n \"Rotated rectangle is invalid. It crosses over either the north or south pole.\"\n );\n }\n //>>includeEnd('debug')\n\n computedOptions.granYCos = rotationOptions.granYCos;\n computedOptions.granYSin = rotationOptions.granYSin;\n computedOptions.granXCos = rotationOptions.granXCos;\n computedOptions.granXSin = rotationOptions.granXSin;\n\n boundingRectangle.north = north;\n boundingRectangle.south = south;\n boundingRectangle.east = east;\n boundingRectangle.west = west;\n }\n\n if (stRotation !== 0) {\n rotation = rotation - stRotation;\n var stNwCorner = Rectangle.northwest(boundingRectangle, stNwCornerResult);\n\n var stRotationOptions = getRotationOptions(\n stNwCorner,\n rotation,\n granularityX,\n granularityY,\n center,\n width,\n height\n );\n\n computedOptions.stGranYCos = stRotationOptions.granYCos;\n computedOptions.stGranXCos = stRotationOptions.granXCos;\n computedOptions.stGranYSin = stRotationOptions.granYSin;\n computedOptions.stGranXSin = stRotationOptions.granXSin;\n computedOptions.stNwCorner = stNwCorner;\n computedOptions.stWest = stRotationOptions.west;\n computedOptions.stSouth = stRotationOptions.south;\n }\n\n return computedOptions;\n};\nexport default RectangleGeometryLibrary;\n"],"names":["defined","Matrix2","Cartesian3","Cartographic","GeographicProjection","CesiumMath","Rectangle","DeveloperError"],"mappings":"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"}