Warning, /education/marble/src/bindings/python/sip/GeoDataCoordinates.sip is written in an unsupported language. File is not indexed.

0001 //
0002 // Copyright 2008 Simon Edwards <simon@simonzone.com>
0003 // 
0004 // This library is free software; you can redistribute it and/or
0005 // modify it under the terms of the GNU Lesser General Public
0006 // License as published by the Free Software Foundation; either 
0007 // version 2.1 of the License, or (at your option) any later version.
0008 // 
0009 // This library is distributed in the hope that it will be useful,
0010 // but WITHOUT ANY WARRANTY; without even the implied warranty of
0011 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
0012 // Lesser General Public License for more details.
0013 // 
0014 // You should have received a copy of the GNU Lesser General Public 
0015 // License along with this library.  If not, see <http://www.gnu.org/licenses/>.
0016 //
0017 
0018 namespace Marble
0019 {
0020 
0021 class GeoDataCoordinates
0022 {
0023 %TypeHeaderCode
0024 #include <GeoDataCoordinates.h>
0025 %End
0026 
0027 
0028 
0029 public:
0030     enum Unit
0031     {
0032         Radian,
0033         Degree
0034     };
0035 
0036 
0037     enum Notation
0038     {
0039         Decimal,
0040         DMS,
0041         DM,
0042         UTM,
0043         MGRS,
0044         Astro
0045     };
0046 
0047     typedef QVector<Marble::GeoDataCoordinates> Vector;
0048     typedef QVector<Marble::GeoDataCoordinates*> PtrVector;
0049 
0050                             GeoDataCoordinates (const Marble::GeoDataCoordinates& other);
0051                             GeoDataCoordinates ();
0052                             GeoDataCoordinates (qreal lon, qreal lat, qreal alt = 0, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian, int detail = 0);
0053     void                    set (qreal lon, qreal lat, qreal alt = 0, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian);
0054     void                    geoCoordinates (qreal& lon /out/, qreal& lat /out/, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian) const;
0055     void                    setLongitude (qreal lon, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian);
0056     qreal                   longitude (Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian) const;
0057     qreal                   latitude (Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian) const;
0058     void                    setLatitude (qreal lat, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian);
0059     qreal                   altitude () const;
0060     void                    setAltitude (const qreal altitude);
0061     int                     detail () const;
0062     void                    setDetail (const int det);
0063     const Marble::Quaternion&  quaternion () const;
0064     static Marble::GeoDataCoordinates::Notation  defaultNotation ();
0065     static void             setDefaultNotation (Marble::GeoDataCoordinates::Notation notation);
0066     static qreal            normalizeLon (qreal lon, Marble::GeoDataCoordinates::Unit = Marble::GeoDataCoordinates::Radian);
0067     static qreal            normalizeLat (qreal lat, Marble::GeoDataCoordinates::Unit = Marble::GeoDataCoordinates::Radian);
0068     static void             normalizeLonLat (qreal& lon /in,out/, qreal& lat /in,out/, Marble::GeoDataCoordinates::Unit = Marble::GeoDataCoordinates::Radian);
0069     static Marble::GeoDataCoordinates  fromString (const QString& string, bool& successful /out/);
0070     QString                 toString () const;
0071     QString                 toString (Marble::GeoDataCoordinates::Notation notation, int precision = -1) const;
0072     static QString          lonToString (qreal lon, Marble::GeoDataCoordinates::Notation notation, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian, int precision = -1, char format = 'f');
0073     QString                 lonToString () const;
0074     static QString          latToString (qreal lat, Marble::GeoDataCoordinates::Notation notation, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian, int precision = -1, char format = 'f');
0075     QString                 latToString () const;
0076     bool                    operator == (const Marble::GeoDataCoordinates&) const;
0077     virtual void            pack (QDataStream& stream) const;
0078     virtual void            unpack (QDataStream& stream);
0079     virtual void            detach ();
0080     virtual ~GeoDataCoordinates ();
0081     bool                    isPole (Marble::Pole = Marble::AnyPole) const;
0082     enum BearingType
0083     {
0084         InitialBearing,
0085         FinalBearing
0086     };
0087     bool                    isValid () const;
0088     qreal                   bearing (const Marble::GeoDataCoordinates& other, Marble::GeoDataCoordinates::Unit unit = Marble::GeoDataCoordinates::Radian, Marble::GeoDataCoordinates::BearingType type = Marble::GeoDataCoordinates::InitialBearing) const;
0089 //ig    void                    geoCoordinates (qreal& lon, qreal& lat, qreal& alt, Marble::GeoDataCoordinates::Unit unit = GeoDataCoordinates::Radian) const;
0090 //ig    virtual bool            operator != (const Marble::GeoDataCoordinates&) const;
0091 };
0092 // GeoDataCoordinates
0093 
0094 };
0095 // Marble
0096 
0097