File indexing completed on 2025-01-05 03:58:53
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2009 Gaurav Gupta <1989.gaurav@googlemail.com> 0004 // 0005 0006 #ifndef MARBLE_GEODATAABSTRACTVIEW_H 0007 #define MARBLE_GEODATAABSTRACTVIEW_H 0008 0009 #include "MarbleGlobal.h" 0010 #include "GeoDataObject.h" 0011 0012 #include "digikam_export.h" 0013 0014 namespace Marble 0015 { 0016 class GeoDataCoordinates; 0017 class GeoDataTimeSpan; 0018 class GeoDataTimeStamp; 0019 class GeoDataAbstractViewPrivate; 0020 0021 /** 0022 * @see GeoDataLookAt 0023 */ 0024 class DIGIKAM_EXPORT GeoDataAbstractView : public GeoDataObject 0025 { 0026 public: 0027 GeoDataAbstractView(); 0028 0029 ~GeoDataAbstractView() override; 0030 0031 GeoDataAbstractView( const GeoDataAbstractView &other ); 0032 0033 GeoDataAbstractView& operator=( const GeoDataAbstractView &other ); 0034 0035 bool operator==(const GeoDataAbstractView &other) const; 0036 inline bool operator!=(const GeoDataAbstractView &other) const { return !(*this == other); } 0037 0038 virtual GeoDataAbstractView *copy() const = 0; 0039 0040 const GeoDataTimeSpan& timeSpan() const; 0041 0042 GeoDataTimeSpan& timeSpan(); 0043 0044 void setTimeSpan( const GeoDataTimeSpan &timeSpan ); 0045 0046 GeoDataTimeStamp& timeStamp(); 0047 0048 const GeoDataTimeStamp& timeStamp() const; 0049 0050 void setTimeStamp( const GeoDataTimeStamp &timeStamp ); 0051 0052 AltitudeMode altitudeMode() const; 0053 0054 void setAltitudeMode(const AltitudeMode altitudeMode); 0055 0056 GeoDataCoordinates coordinates() const; 0057 0058 private: 0059 GeoDataAbstractViewPrivate* const d; 0060 0061 protected: 0062 bool equals(const GeoDataAbstractView &other) const; 0063 0064 using GeoDataObject::equals; 0065 }; 0066 0067 } // namespace Marble 0068 0069 #endif