/**
* BeNomad BeMap JavaScript API - boundingBox
*/
/**
* @classdesc
* Base class for boudingBox.
* @public
* @constructor
* @abstract
* @param {double} minLat the minimal latitude of the bounding box.
* @param {double} minLon the minimal longitude of the bounding box.
* @param {double} maxLat the maximal latitude of the bounding box.
* @param {double} maxLon the maximal longitude of the bounding box.
*/
bemap.BoundingBox = function(minLon, minLat, maxLon, maxLat) {
/**
* @type {double}
* @protected
*/
this.minLat = minLat;
/**
* @type {double}
* @protected
*/
this.maxLat = maxLat;
/**
* @type {double}
* @protected
*/
this.minLon = minLon;
/**
* @type {double}
* @protected
*/
this.maxLon = maxLon;
};
/**
* Get the minimal longitude of the bounding box.
* @return {double} the minimal longitude.
*/
bemap.BoundingBox.prototype.getMinLon = function() {
return this.minLon;
};
/**
* Get the maximal longitude of the bounding box.
* @return {double} the maximal longitude.
*/
bemap.BoundingBox.prototype.getMaxLon = function() {
return this.maxLon;
};
/**
* Get the minimal latitude of the bounding box.
* @return {double} the minimal latitude.
*/
bemap.BoundingBox.prototype.getMinLat = function() {
return this.minLat;
};
/**
* Get the maximal latitude of the bounding box.
* @return {double} the maximal latitude.
*/
bemap.BoundingBox.prototype.getMaxLat = function() {
return this.maxLat;
};
/**
* Get the maximal coordinates of the bounding box.
* @return {bemap.Coordinate} the maximal coordinates.
*/
bemap.BoundingBox.prototype.getMax = function() {
return new bemap.Coordinate(this.maxLon, this.maxLat);
};
/**
* Get the minimal coordinates of the bounding box.
* @return {bemap.Coordinate} the minimal coordinates.
*/
bemap.BoundingBox.prototype.getMin = function() {
return new bemap.Coordinate(this.minLon, this.minLat);
};
/**
* Set the minimal longitude of the bounding box.
* @param {double} minLon the new minimal longitude to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMinLon = function(minLon) {
this.minLon = minLon;
return this;
};
/**
* Set the maximal longitude of the bounding box.
* @param {double} maxLon the new maximal longitude to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMaxLon = function(maxLon) {
this.maxLon = maxLon;
return this;
};
/**
* Set the minimal latitude of the bounding box.
* @param {double} minLat the new minimal latitude to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMinLat = function(minLat) {
this.minLat = minLat;
return this;
};
/**
* Set the maximal latitude of the bounding box.
* @param {double} maxLat the new maximal latitude to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMaxLat = function(maxLat) {
this.maxLat = maxLat;
return this;
};
/**
* Set the maximal coordinates of the bounding box.
* @param {bemap.Coordinate} max the new maximal coordinates to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMax = function(max) {
this.maxLat = max.lat;
this.maxLon = max.lon;
return this;
};
/**
* Set the minimal coordinates of the bounding box.
* @param {bemap.Coordinate} min the new minimal coordinates to set.
* @return {bemap.BoundingBox} this;
*/
bemap.BoundingBox.prototype.setMin = function(min) {
this.minLat = min.lat;
this.minLon = min.lon;
return this;
};