104 lines
2.6 KiB
JavaScript
104 lines
2.6 KiB
JavaScript
// node_modules/ol/TileRange.js
|
|
var TileRange = class {
|
|
/**
|
|
* @param {number} minX Minimum X.
|
|
* @param {number} maxX Maximum X.
|
|
* @param {number} minY Minimum Y.
|
|
* @param {number} maxY Maximum Y.
|
|
*/
|
|
constructor(minX, maxX, minY, maxY) {
|
|
this.minX = minX;
|
|
this.maxX = maxX;
|
|
this.minY = minY;
|
|
this.maxY = maxY;
|
|
}
|
|
/**
|
|
* @param {import("./tilecoord.js").TileCoord} tileCoord Tile coordinate.
|
|
* @return {boolean} Contains tile coordinate.
|
|
*/
|
|
contains(tileCoord) {
|
|
return this.containsXY(tileCoord[1], tileCoord[2]);
|
|
}
|
|
/**
|
|
* @param {TileRange} tileRange Tile range.
|
|
* @return {boolean} Contains.
|
|
*/
|
|
containsTileRange(tileRange) {
|
|
return this.minX <= tileRange.minX && tileRange.maxX <= this.maxX && this.minY <= tileRange.minY && tileRange.maxY <= this.maxY;
|
|
}
|
|
/**
|
|
* @param {number} x Tile coordinate x.
|
|
* @param {number} y Tile coordinate y.
|
|
* @return {boolean} Contains coordinate.
|
|
*/
|
|
containsXY(x, y) {
|
|
return this.minX <= x && x <= this.maxX && this.minY <= y && y <= this.maxY;
|
|
}
|
|
/**
|
|
* @param {TileRange} tileRange Tile range.
|
|
* @return {boolean} Equals.
|
|
*/
|
|
equals(tileRange) {
|
|
return this.minX == tileRange.minX && this.minY == tileRange.minY && this.maxX == tileRange.maxX && this.maxY == tileRange.maxY;
|
|
}
|
|
/**
|
|
* @param {TileRange} tileRange Tile range.
|
|
*/
|
|
extend(tileRange) {
|
|
if (tileRange.minX < this.minX) {
|
|
this.minX = tileRange.minX;
|
|
}
|
|
if (tileRange.maxX > this.maxX) {
|
|
this.maxX = tileRange.maxX;
|
|
}
|
|
if (tileRange.minY < this.minY) {
|
|
this.minY = tileRange.minY;
|
|
}
|
|
if (tileRange.maxY > this.maxY) {
|
|
this.maxY = tileRange.maxY;
|
|
}
|
|
}
|
|
/**
|
|
* @return {number} Height.
|
|
*/
|
|
getHeight() {
|
|
return this.maxY - this.minY + 1;
|
|
}
|
|
/**
|
|
* @return {import("./size.js").Size} Size.
|
|
*/
|
|
getSize() {
|
|
return [this.getWidth(), this.getHeight()];
|
|
}
|
|
/**
|
|
* @return {number} Width.
|
|
*/
|
|
getWidth() {
|
|
return this.maxX - this.minX + 1;
|
|
}
|
|
/**
|
|
* @param {TileRange} tileRange Tile range.
|
|
* @return {boolean} Intersects.
|
|
*/
|
|
intersects(tileRange) {
|
|
return this.minX <= tileRange.maxX && this.maxX >= tileRange.minX && this.minY <= tileRange.maxY && this.maxY >= tileRange.minY;
|
|
}
|
|
};
|
|
function createOrUpdate(minX, maxX, minY, maxY, tileRange) {
|
|
if (tileRange !== void 0) {
|
|
tileRange.minX = minX;
|
|
tileRange.maxX = maxX;
|
|
tileRange.minY = minY;
|
|
tileRange.maxY = maxY;
|
|
return tileRange;
|
|
}
|
|
return new TileRange(minX, maxX, minY, maxY);
|
|
}
|
|
var TileRange_default = TileRange;
|
|
|
|
export {
|
|
createOrUpdate,
|
|
TileRange_default
|
|
};
|
|
//# sourceMappingURL=chunk-LRXO5GLT.js.map
|