/**
* OpenLayers.Geometry.Collection<br/>
* A Collection is exactly what it sounds like: A collection of different Geometries. These are stored in the local parameter components (which can be passed as a parameter to the constructor).<BR/>
* <BR/>
* As new geometries are added to the collection, they are NOT cloned. When removing geometries, they need to be specified by reference (ie you have to pass in the exact geometry to be removed).<BR/>
* <BR/>
* The getArea and getLength functions here merely iterate through the components, summing their respective areas and lengths.<BR/>
* <BR/>
* Create a new instance with the OpenLayers.Geometry.Collection constructor.<BR/>
* @class Collection
* @extends OpenLayers.Geometry
* @constructor
* @namespace OpenLayers.Geometry
* @param {Array(OpenLayers.Geometry)} components
*/
OpenLayers.Geometry.Collection = OpenLayers.Class(OpenLayers.Geometry,{
/**
* @property components
* @type {Array(OpenLayers.Geometry)}
*/
components: null,
/**
* @method destroy
**/
destroy: function(){},
/**
* @method clone
**/
clone: function(){},
/**
* @method calculateBounds
**/
calculateBounds: function(){},
/**
* @method addComponents
* @param {Array(OpenLayers.Geometry)} components
**/
addComponents: function(components){},
/**
* @method removeComponents
* @param {Array(OpenLayers.Geometry)} components
* @return {Boolean} was removed
**/
removeComponents: function(components){},
/**
* @method getLength
* @return {Float} geometry length
**/
getLength: function(){},
/**
* @method getArea
* @return {Float} area
**/
getArea: function(){},
/**
* @method getGeodesicArea
* @param {OpenLayers.Projection} projection
* @return {Float} geodesic area
**/
getGeodesicArea: function(projection){},
/**
* @method getCentroid
* @param {Boolean} weighted
* @return {OpenLayers.Geometry.Point} centroid
**/
getCentroid: function(weighted){},
/**
* @method getGeodesicLength
* @param {OpenLayers.Projection} projection
* @return {Float} geodesic area
**/
getGeodesicLength: function(projection){},
/**
* @method move
* @param {Float} x
* @param {Float} y
*/
move: function(x,y){},
/**
* @method rotate
* @param {Float} angle degree
* @param {OpenLayers.Geometry.Point} origin center point
*/
rotate: function(angle, origin){},
/**
* @method resize
* @param {Float} scale
* @param {OpenLayers.Geometry.Point} origin
* @param {Float} ratio default 1.
*/
resize: function(scale, origin, ratio){},
/**
*
* @method distanceTo
* @param {OpenLayers.Geometry} geometry
* @param {Object} options
* @return {Number | Object} distance
**/
distanceTo: function(geometry,options){},
/**
* @method equals
* @param {OpenLayers.Geometry} geometry
*/
equals: function(geometry){},
/**
* @method transform
* @param {OpenLayers.Projection} source
* @param {OpenLayers.Projection} dest
* @return {OpenLayers.Geometry} geometry
*/
transform: function(source,dest){},
/**
* @method intersects
* @param {OpenLayers.Geometry} geometry
* @return {Boolean} intersects
*/
intersects: function(geometry){},
/**
*
* @method getVertices
* @param {Boolean} nodes
* @return {Array} vertices
*/
getVertices: function(nodes){}
});