// // Copyright 2008 Simon Edwards // // 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, see . // namespace Marble { class GeoDataLineString : Marble::GeoDataGeometry { %TypeHeaderCode #include %End public: //ig typedef QVector::Iterator Iterator; //ig typedef QVector::ConstIterator ConstIterator; GeoDataLineString (Marble::TessellationFlags f = Marble::NoTessellation); GeoDataLineString (const Marble::GeoDataGeometry& other); virtual bool isClosed () const; bool tessellate () const; void setTessellate (bool tessellate); Marble::TessellationFlags tessellationFlags () const; void setTessellationFlags (Marble::TessellationFlags f); Marble::GeoDataLatLonAltBox latLonAltBox () const; int size () const; //FIXME Add the needed Python list methods. //ig Marble::GeoDataCoordinates& at (int pos); const Marble::GeoDataCoordinates& at (int pos) const; //ig Marble::GeoDataCoordinates& operator [] (int pos); const Marble::GeoDataCoordinates& operator [] (int pos) const; //ig Marble::GeoDataCoordinates& first (); const Marble::GeoDataCoordinates& first () const; //ig Marble::GeoDataCoordinates& last (); const Marble::GeoDataCoordinates& last () const; void append (const Marble::GeoDataCoordinates& position); Marble::GeoDataLineString& operator << (const Marble::GeoDataCoordinates& position); //ig QVector::Iterator begin (); //ig QVector::Iterator end (); //ig QVector::ConstIterator constBegin () const; //ig QVector::ConstIterator constEnd () const; void clear (); virtual void pack (QDataStream& stream) const; virtual void unpack (QDataStream& stream); protected: //ig Marble::GeoDataLineStringPrivate* p () const; public: virtual ~GeoDataLineString (); virtual QString nodeType () const; virtual qreal length (qreal planetRadius) const; //ig virtual QVector toRangeCorrected () const; virtual Marble::GeoDataLineString toNormalized () const; virtual Marble::GeoDataLineString toPoleCorrected () const; //ig virtual QVector toDateLineCorrected () const; bool isEmpty () const; //ig Marble::GeoDataLineString& operator << (const Marble::GeoDataLineString& lineString); //ig QVector::Iterator erase (QVector::Iterator position); //ig QVector::Iterator erase (QVector::Iterator begin, QVector::Iterator end); void remove (int i); protected: //ig GeoDataLineString (GeoDataLineStringPrivate* priv); }; // GeoDataLineString }; // Marble