File indexing completed on 2025-01-05 03:58:57
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Mayank Madan <maddiemadan@gmail.com> 0004 // SPDX-FileCopyrightText: 2013 Sanjiban Bairagya <sanjiban22393@gmail.com> 0005 // 0006 0007 #ifndef GEODATAMODEL_H 0008 #define GEODATAMODEL_H 0009 0010 #include "GeoDataGeometry.h" 0011 #include "MarbleGlobal.h" 0012 #include "GeoDataLink.h" 0013 0014 namespace Marble { 0015 0016 class GeoDataCoordinates; 0017 class GeoDataLink; 0018 class GeoDataLocation; 0019 class GeoDataOrientation; 0020 class GeoDataResourceMap; 0021 class GeoDataScale; 0022 class GeoDataModelPrivate; 0023 0024 /** 0025 */ 0026 class DIGIKAM_EXPORT GeoDataModel: public GeoDataGeometry 0027 { 0028 public: 0029 GeoDataModel(); 0030 0031 GeoDataModel( const GeoDataModel &other ); 0032 0033 GeoDataModel& operator=( const GeoDataModel &other ); 0034 0035 const char *nodeType() const override; 0036 0037 EnumGeometryId geometryId() const override; 0038 0039 GeoDataGeometry *copy() const override; 0040 0041 bool operator==( const GeoDataModel &other ) const; 0042 bool operator!=( const GeoDataModel &other ) const; 0043 0044 ~GeoDataModel() override; 0045 0046 const GeoDataLink& link() const; 0047 GeoDataLink& link(); 0048 void setLink( const GeoDataLink &link ); 0049 0050 const GeoDataCoordinates& coordinates() const; 0051 GeoDataCoordinates& coordinates(); 0052 void setCoordinates(const GeoDataCoordinates &coordinates); 0053 0054 const GeoDataScale& scale() const; 0055 GeoDataScale& scale(); 0056 void setScale(const GeoDataScale &scale); 0057 0058 const GeoDataOrientation& orientation() const; 0059 GeoDataOrientation& orientation(); 0060 void setOrientation( const GeoDataOrientation &orientation); 0061 0062 const GeoDataLocation& location() const; 0063 GeoDataLocation& location(); 0064 void setLocation( const GeoDataLocation &location); 0065 0066 const GeoDataResourceMap& resourceMap() const; 0067 GeoDataResourceMap& resourceMap(); 0068 void setResourceMap( const GeoDataResourceMap &map); 0069 0070 QString sourceHref() const; 0071 QString targetHref() const; 0072 void setSourceHref(const QString &sourceHref); 0073 void setTargetHref(const QString &targetHref); 0074 0075 private: 0076 Q_DECLARE_PRIVATE(GeoDataModel) 0077 }; 0078 0079 } 0080 0081 0082 #endif // GEODATAMODEL_H