File indexing completed on 2025-01-05 03:58:58
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 "digikam_export.h" 0014 0015 namespace Marble { 0016 0017 class GeoDataPhotoOverlayPrivate; 0018 class GeoDataPoint; 0019 class GeoDataImagePyramid; 0020 class GeoDataViewVolume; 0021 0022 /** 0023 */ 0024 class DIGIKAM_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