Tim's big refactoring of the Geometry modules. Fixes #590. All tests pass in FF (except the PanZoomBar stuff, which wasn't touched by this patch) and IE.

git-svn-id: http://svn.openlayers.org/trunk/openlayers@2931 dc9f47b5-9b13-0410-9fdd-eb0c1a62fdaf
This commit is contained in:
Schuyler Erle
2007-03-30 21:42:32 +00:00
parent 91ec16c81a
commit 313704b844
16 changed files with 374 additions and 177 deletions

View File

@@ -13,6 +13,14 @@ OpenLayers.Geometry.MultiPolygon = OpenLayers.Class.create();
OpenLayers.Geometry.MultiPolygon.prototype =
OpenLayers.Class.inherit(OpenLayers.Geometry.Collection, {
/**
* An array of class names representing the types of components that
* the collection can include. A null value means the component types
* are not restricted.
* @type Array(String)
*/
componentTypes: ["OpenLayers.Geometry.Polygon"],
/**
* @constructor
*
@@ -22,23 +30,6 @@ OpenLayers.Geometry.MultiPolygon.prototype =
OpenLayers.Geometry.Collection.prototype.initialize.apply(this,
arguments);
},
/**
* adds component to the MultiPolygon, checking type
*
* @param {OpenLayers.Geometry.Polygon} component Polygon to add
* @param {int} index Index into the array to insert the component
*/
addComponent: function(component, index) {
if (!(component instanceof OpenLayers.Geometry.Polygon)) {
var throwStr = "component should be an " +
"OpenLayers.Geometry.Polygon but is an " +
component.CLASS_NAME;
throw throwStr;
}
OpenLayers.Geometry.Collection.prototype.addComponent.apply(this,
arguments);
},
/** @final @type String */
CLASS_NAME: "OpenLayers.Geometry.MultiPolygon"