1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 | /* 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" }); |