File indexing completed on 2024-05-12 03:50:11

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org>
0004 //
0005 
0006 
0007 #ifndef MARBLE_GEODATAGROUNDOVERLAY_H
0008 #define MARBLE_GEODATAGROUNDOVERLAY_H
0009 
0010 #include "GeoDataOverlay.h"
0011 #include "MarbleGlobal.h"
0012 #include "GeoDataLatLonBox.h"
0013 
0014 namespace Marble {
0015 
0016 class GeoDataGroundOverlayPrivate;
0017 class GeoDataLatLonQuad;
0018 
0019 /**
0020  */
0021 class GEODATA_EXPORT GeoDataGroundOverlay: public GeoDataOverlay
0022 {
0023 public:
0024     GeoDataGroundOverlay();
0025 
0026     GeoDataGroundOverlay( const GeoDataGroundOverlay &other );
0027 
0028     ~GeoDataGroundOverlay() override;
0029 
0030     GeoDataGroundOverlay& operator=( const GeoDataGroundOverlay &other );
0031     bool operator==( const GeoDataGroundOverlay &other ) const;
0032     bool operator!=( const GeoDataGroundOverlay &other ) const;
0033 
0034     GeoDataFeature * clone() const override;
0035 
0036     /** Provides type information for downcasting a GeoNode */
0037     const char* nodeType() const override;
0038 
0039     double altitude() const;
0040 
0041     void setAltitude( double altitude );
0042 
0043     AltitudeMode altitudeMode() const;
0044 
0045     void setAltitudeMode( const AltitudeMode altitudeMode );
0046 
0047     const GeoDataLatLonBox& latLonBox() const;
0048 
0049     GeoDataLatLonBox& latLonBox();
0050 
0051     void setLatLonBox( const GeoDataLatLonBox &box );
0052 
0053     const GeoDataLatLonQuad& latLonQuad() const;
0054 
0055     GeoDataLatLonQuad& latLonQuad();
0056 
0057     void setLatLonQuad( const GeoDataLatLonQuad &quad );
0058 
0059 private:
0060     Q_DECLARE_PRIVATE(GeoDataGroundOverlay)
0061 };
0062 
0063 }
0064 
0065 #endif