UNPKG

terriajs

Version:

Geospatial data visualization platform.

41 lines (34 loc) 1.32 kB
"use strict"; var defined = require("terriajs-cesium/Source/Core/defined").default; var DeveloperError = require("terriajs-cesium/Source/Core/DeveloperError").default; var Rectangle = require("terriajs-cesium/Source/Core/Rectangle").default; /** * Computes the union of two rectangles. This function is not 180-meridian safe. * @param {Rectangle} first The first rectangle to union. * @param {Rectangle} second The second rectangle to union. * @param {Rectangle} [result] The existing {@link Rectangle} to which to copy the result instead of creating and returning a new instance. * @return {Rectangle} The union of the two rectangles. */ var unionRectangles = function (first, second, result) { if (!defined(first)) { throw new DeveloperError("first is required"); } if (!defined(second)) { throw new DeveloperError("second is required"); } var west = Math.min(first.west, second.west); var south = Math.min(first.south, second.south); var east = Math.max(first.east, second.east); var north = Math.max(first.north, second.north); if (!defined(result)) { result = new Rectangle(west, south, east, north); } else { result.west = west; result.south = south; result.east = east; result.north = north; } return result; }; module.exports = unionRectangles;