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

0001 // SPDX-License-Identifier: LGPL-2.1-or-later
0002 //
0003 // SPDX-FileCopyrightText: 2012 Dennis Nienhüser <nienhueser@kde.org>
0004 // SPDX-FileCopyrightText: 2013 Mohammed Nafees <nafees.technocool@gmail.com>
0005 //
0006 
0007 
0008 #ifndef MARBLE_GEODATAPHOTOOVERLAY_H
0009 #define MARBLE_GEODATAPHOTOOVERLAY_H
0010 
0011 #include "GeoDataOverlay.h"
0012 #include "MarbleGlobal.h"
0013 #include "geodata_export.h"
0014 
0015 namespace Marble {
0016 
0017 class GeoDataPhotoOverlayPrivate;
0018 class GeoDataPoint;
0019 class GeoDataImagePyramid;
0020 class GeoDataViewVolume;
0021 
0022 /**
0023  */
0024 class GEODATA_EXPORT GeoDataPhotoOverlay: public GeoDataOverlay
0025 {
0026 public:
0027     GeoDataPhotoOverlay();
0028 
0029     GeoDataPhotoOverlay( const GeoDataPhotoOverlay &other );
0030 
0031     ~GeoDataPhotoOverlay() override;
0032 
0033     GeoDataPhotoOverlay& operator=( const GeoDataPhotoOverlay &other );
0034     bool operator==( const GeoDataPhotoOverlay &other ) const;
0035     bool operator!=( const GeoDataPhotoOverlay &other ) const;
0036 
0037     GeoDataFeature * clone() const override;
0038 
0039     /** Provides type information for downcasting a GeoNode */
0040     const char* nodeType() const override;
0041 
0042     enum Shape {
0043         Rectangle,
0044         Cylinder,
0045         Sphere
0046     };
0047 
0048     qreal rotation() const;
0049     void setRotation( const qreal rotation );
0050 
0051     GeoDataViewVolume &viewVolume();
0052     const GeoDataViewVolume& viewVolume() const;
0053     void setViewVolume( const GeoDataViewVolume &viewVolume );
0054 
0055     GeoDataImagePyramid& imagePyramid();
0056     const GeoDataImagePyramid& imagePyramid() const;
0057     void setImagePyramid( const GeoDataImagePyramid &imagePyramid );
0058 
0059     GeoDataPoint& point();
0060     const GeoDataPoint& point() const;
0061     void setPoint( const GeoDataPoint &point );
0062 
0063     Shape shape() const;
0064     void setShape( Shape shape );
0065 
0066 private:
0067     Q_DECLARE_PRIVATE(GeoDataPhotoOverlay)
0068 };
0069 
0070 }
0071 
0072 #endif