File indexing completed on 2025-01-05 03:58:58
0001 // SPDX-License-Identifier: LGPL-2.1-or-later 0002 // 0003 // SPDX-FileCopyrightText: 2013 Sanjiban Bairagya <sanjiban22393@gmail.com> 0004 // 0005 0006 #ifndef GEODATAORIENTATION_H 0007 #define GEODATAORIENTATION_H 0008 0009 #include "GeoDataObject.h" 0010 #include "MarbleGlobal.h" 0011 0012 namespace Marble { 0013 0014 class GeoDataOrientationPrivate; 0015 0016 /** 0017 */ 0018 class DIGIKAM_EXPORT GeoDataOrientation: public GeoDataObject 0019 { 0020 public: 0021 GeoDataOrientation(); 0022 0023 GeoDataOrientation( const GeoDataOrientation &other ); 0024 0025 GeoDataOrientation& operator=( const GeoDataOrientation &other ); 0026 0027 bool operator==( const GeoDataOrientation &other ) const; 0028 bool operator!=( const GeoDataOrientation &other ) const; 0029 0030 ~GeoDataOrientation() override; 0031 0032 /** Provides type information for downcasting a GeoNode */ 0033 const char* nodeType() const override; 0034 0035 /** Returns by how much degrees the camera has been rotated about the normal. 0036 * Default value= 0. Range: 0-360 degrees 0037 */ 0038 double heading() const; 0039 void setHeading( double heading ); 0040 0041 /** Returns the rotation of the camera in degrees, around the X axis. 0042 * Value ranges from 0 (indicating that the view is aimed straight down 0043 * toward the earth), through 90 (indicating that the view is aimed toward 0044 * the horizon) to values greater than 90 (indicating that the view is pointed 0045 * up into the sky. Values are clamped at +180 degrees. 0046 */ 0047 double tilt() const; 0048 void setTilt( double tilt ); 0049 0050 /** Returns the rotation of the camera in degrees around the Z axis. 0051 * Range: −180 to +180 degrees. 0052 */ 0053 double roll() const; 0054 void setRoll( double roll); 0055 0056 protected: 0057 GeoDataOrientationPrivate* const d; 0058 }; 0059 0060 } 0061 0062 #endif // GEODATAORIENTATION_H