1// 2// Copyright 2008 Simon Edwards <simon@simonzone.com> 3// 4// This library is free software; you can redistribute it and/or 5// modify it under the terms of the GNU Lesser General Public 6// License as published by the Free Software Foundation; either 7// version 2.1 of the License, or (at your option) any later version. 8// 9// This library is distributed in the hope that it will be useful, 10// but WITHOUT ANY WARRANTY; without even the implied warranty of 11// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 12// Lesser General Public License for more details. 13// 14// You should have received a copy of the GNU Lesser General Public 15// License along with this library. If not, see <http://www.gnu.org/licenses/>. 16// 17 18namespace Marble 19{ 20class GeoDataMultiGeometry : Marble::GeoDataGeometry 21{ 22%TypeHeaderCode 23#include <GeoDataMultiGeometry.h> 24%End 25 26public: 27 GeoDataMultiGeometry (); 28 GeoDataMultiGeometry (const Marble::GeoDataGeometry& other); 29 int size () const; 30//FIXME Add any needed Python list methods. 31//ig Marble::GeoDataGeometry& at (int pos); 32 const Marble::GeoDataGeometry& at (int pos) const; 33//ig Marble::GeoDataGeometry& operator [] (int pos); 34 const Marble::GeoDataGeometry& operator [] (int pos) const; 35//ig Marble::GeoDataGeometry& first (); 36 const Marble::GeoDataGeometry& first () const; 37//ig Marble::GeoDataGeometry& last (); 38 const Marble::GeoDataGeometry& last () const; 39 Marble::GeoDataMultiGeometry& operator << (const Marble::GeoDataGeometry& value); 40//ig QVector<Marble::GeoDataGeometry>::Iterator begin (); 41//ig QVector<Marble::GeoDataGeometry>::Iterator end (); 42//ig QVector<Marble::GeoDataGeometry>::ConstIterator constBegin () const; 43//ig QVector<Marble::GeoDataGeometry>::ConstIterator constEnd () const; 44 void clear (); 45 46//FIXME the result here should be copied. 47//ig QVector<Marble::GeoDataGeometry>& vector () const; 48 49 virtual void pack (QDataStream& stream) const; 50 virtual void unpack (QDataStream& stream); 51 virtual ~GeoDataMultiGeometry (); 52 virtual const Marble::GeoDataLatLonAltBox& latLonAltBox () const; 53 Marble::GeoDataGeometry* child (int); 54 int childPosition (Marble::GeoDataGeometry* child); 55 void append (Marble::GeoDataGeometry* other); 56//ig QVector<GeoDataGeometry*>::Iterator erase (QVector<GeoDataGeometry*>::Iterator pos); 57//ig QVector<GeoDataGeometry*>::Iterator erase (QVector<GeoDataGeometry*>::Iterator begin, QVector<GeoDataGeometry*>::Iterator end); 58//ig const Marble::GeoDataGeometry* child (int) const; 59}; 60// GeoDataMultiGeometry 61 62}; 63// Marble 64 65 66