/*---------------- FILE HEADER --------------------------------------- This file is part of Geoide. Copyright (C) 2005-2006 by: IDgis B.V. http://www.idgis.nl This library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 2.1 of the License, or (at your option) any later version. This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with this library; if not, write to the Free Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA Contact: Herman Assink IDgis bv P.O. Box 15 7450 AA Holten The Netherlands E-Mail: herman.assink@idgis.nl * @version 1.4.0 * @author IDgis team * ------------------------------------------------------------------------*/ import nl.idgis.giclient.geoma.GeometryCollection; import nl.idgis.giclient.geoma.Point; class nl.idgis.giclient.geoma.MultiPoint extends GeometryCollection { function MultiPoint(srsName:String, points:Array) { super(srsName, points); } function addGeometryMember(point:MultiPoint):Void { addPoint(point); } function addPoint(point:MultiPoint):Void { geometries.push(point); point.setSuperGeometry(this); } function removePoint(point:MultiPoint):Void { if (geometries.length == 1) { // EXCEPTION return; } for (var i:Number = 0; i < geometries.length; i++) { if (geometries[i] == point) { Point(geometries[i]).setSuperGeometry(null); geometries.splice(i,1); break; } } } function toString():String { return("MultiPoint (" + geometries.toString() + ")"); } function clone():MultiPoint { if ((geometries == null) || (geometries.length == 0)) { return null; } var geoms:Array = new Array(); for (var i:String in geometries) { geoms.push(Point(geometries[i]).clone()); } return new MultiPoint(getSRS(), geoms); } }