Files
openlayers/lib/OpenLayers/Geometry/Rectangle.js
crschmidt 21c097a297 Add more docs to rectangle
git-svn-id: http://svn.openlayers.org/trunk/openlayers@6446 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
2008-03-06 15:02:30 +00:00

99 lines
2.1 KiB
JavaScript

/* Copyright (c) 2006-2008 MetaCarta, Inc., published under the Clear BSD
* license. See http://svn.openlayers.org/trunk/openlayers/license.txt for the
* full text of the license. */
/**
* @requires OpenLayers/Geometry.js
*/
/**
* Class: OpenLayers.Geometry.Rectangle
* This class is *not supported*, and probably isn't what you're looking for.
* Instead, most users probably want something like:
* (code)
* var poly = new OpenLayers.Bounds(0,0,10,10).toGeometry();
* (end)
* This will create a rectangular Polygon geometry.
*
* Inherits:
* - <OpenLayers.Geometry>
*/
OpenLayers.Geometry.Rectangle = OpenLayers.Class(OpenLayers.Geometry, {
/**
* Property: x
* {Float}
*/
x: null,
/**
* Property: y
* {Float}
*/
y: null,
/**
* Property: width
* {Float}
*/
width: null,
/**
* Property: height
* {Float}
*/
height: null,
/**
* Constructor: OpenLayers.Geometry.Rectangle
*
* Parameters:
* points - {Array(<OpenLayers.Geometry.Point>}
*/
initialize: function(x, y, width, height) {
OpenLayers.Geometry.prototype.initialize.apply(this, arguments);
this.x = x;
this.y = y;
this.width = width;
this.height = height;
},
/**
* Method: calculateBounds
* Recalculate the bounds for the geometry.
*/
calculateBounds: function() {
this.bounds = new OpenLayers.Bounds(this.x, this.y,
this.x + this.width,
this.y + this.height);
},
/**
* APIMethod: getLength
*
* Returns:
* {Float} The length of the geometry
*/
getLength: function() {
var length = (2 * this.width) + (2 * this.height);
return length;
},
/**
* APIMethod: getArea
*
* Returns:
* {Float} The area of the geometry
*/
getArea: function() {
var area = this.width * this.height;
return area;
},
CLASS_NAME: "OpenLayers.Geometry.Rectangle"
});