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

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 GEODATA_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