• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
MarbleAbstractPresenter.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2006-2008 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007 Inge Wallin <ingwa@kde.org>
10 // Copyright 2014 Adam Dabrowski <adamdbrw@gmail.com>
11 //
12 
13 #ifndef MARBLEABSTRACTPRESENTER_H
14 #define MARBLEABSTRACTPRESENTER_H
15 
16 #include <QSharedPointer>
17 #include <QList>
18 #include "GeoDataLookAt.h"
19 #include "GeoDataLatLonBox.h"
20 #include "MarbleMap.h"
21 #include "MarbleModel.h"
22 #include "MarblePhysics.h"
23 
24 namespace Marble
25 {
26  class MarbleAbstractPresenter : public QObject
27  {
28  Q_OBJECT
29 
30  signals:
31  void zoomChanged(int zoom);
32  void distanceChanged(const QString& distanceString);
33  void updateRequired();
34 
39  void regionSelected(const QList<double>&);
40 
41  public:
42  MarbleAbstractPresenter();
43  void initialize(MarbleModel *model, MarbleMap *map);
44  virtual ~MarbleAbstractPresenter();
45 
46  qreal moveStep() const;
47  int radius() const;
48 
49  GeoDataLookAt lookAt() const;
50  qreal distance() const;
51  qreal distanceFromRadius(qreal radius) const;
52  QString distanceString() const;
53  qreal radiusFromDistance(qreal distance) const;
54 
61  void moveByStep(int stepsRight, int stepsDown, FlyToMode mode = Automatic);
62 
63  int polarity() const;
64  int zoom() const;
65  int minimumZoom() const;
66  int maximumZoom() const;
67 
68  qreal distanceFromZoom(qreal zoom) const;
69  qreal zoomFromDistance(qreal distance) const;
70 
71  void zoomAt(const QPoint &pos, qreal newDistance);
72  void moveTo(const QPoint &pos, qreal factor);
73 
74  qreal centerLongitude() const;
75  qreal centerLatitude() const;
76 
77  ViewContext viewContext() const;
78 
79  qreal zoom(qreal radius) const;
80  qreal radius(qreal zoom) const;
81 
82  MarbleMap* map();
83  MarbleModel* model();
84 
85  const MarbleMap* map() const;
86  const MarbleModel* model() const;
87 
88  int logzoom() const;
89  void setLogzoom(int value);
90 
91  int zoomStep() const;
92  qreal viewAngle() const;
93 
94  bool animationsEnabled() const;
95 
96  ViewportParams *viewport();
97  const ViewportParams* viewport() const;
98 
99  public slots:
100  void rotateBy(const qreal deltaLon, const qreal deltaLat, FlyToMode mode = Instant);
101  void flyTo(const GeoDataLookAt &newLookAt, FlyToMode mode = Automatic);
102  void goHome(FlyToMode mode = Automatic);
103 
104  void setZoom(int newZoom, FlyToMode mode = Instant);
105  void zoomView(int zoom, FlyToMode mode = Instant);
106  void zoomViewBy(int zoomStep, FlyToMode mode = Instant);
107  void zoomIn(FlyToMode mode = Automatic);
108  void zoomOut(FlyToMode mode = Automatic);
109 
110  void setViewContext(ViewContext viewContext);
111 
112  void centerOn(const qreal lon, const qreal lat, bool animated = false);
113  void centerOn(const GeoDataCoordinates &point, bool animated = false);
114  void centerOn(const GeoDataLatLonBox& box, bool animated = false);
115  void centerOn(const GeoDataPlacemark& placemark, bool animated = false);
116  void setCenterLatitude(qreal lat, FlyToMode mode);
117  void setCenterLongitude(qreal lon, FlyToMode mode);
118 
119  void setAnimationsEnabled(bool enabled);
120  void setRadius(int radius);
121  void setDistance(qreal newDistance);
122  void setSelection(const QRect& region);
123 
124  private:
125  //MarbleAbstractPresenter owns these
126  MarbleModel m_model;
127  MarbleMap m_map;
128  MarblePhysics m_physics;
129 
130  bool m_animationsEnabled;
131  int m_logzoom;
132  int m_zoomStep;
133  const qreal m_viewAngle;
134  };
135 }
136 
137 
138 #endif // MARBLEABSTRACTPRESENTER_H
Marble::MarbleAbstractPresenter::initialize
void initialize(MarbleModel *model, MarbleMap *map)
Marble::MarbleAbstractPresenter::zoomOut
void zoomOut(FlyToMode mode=Automatic)
Definition: MarbleAbstractPresenter.cpp:248
Marble::MarbleAbstractPresenter::moveStep
qreal moveStep() const
Definition: MarbleAbstractPresenter.cpp:299
Marble::MarbleAbstractPresenter::centerOn
void centerOn(const qreal lon, const qreal lat, bool animated=false)
Definition: MarbleAbstractPresenter.cpp:410
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::MarbleAbstractPresenter::updateRequired
void updateRequired()
Marble::Automatic
A sane value is chosen automatically depending on animation settings and the action.
Definition: MarbleGlobal.h:174
Marble::MarbleAbstractPresenter::viewport
ViewportParams * viewport()
Definition: MarbleAbstractPresenter.cpp:564
Marble::MarbleAbstractPresenter::zoomAt
void zoomAt(const QPoint &pos, qreal newDistance)
Definition: MarbleAbstractPresenter.cpp:348
Marble::MarbleAbstractPresenter::rotateBy
void rotateBy(const qreal deltaLon, const qreal deltaLat, FlyToMode mode=Instant)
Definition: MarbleAbstractPresenter.cpp:57
Marble::MarbleAbstractPresenter::setRadius
void setRadius(int radius)
Definition: MarbleAbstractPresenter.cpp:316
MarbleModel.h
This file contains the headers for MarbleModel.
Marble::ViewContext
ViewContext
This enum is used to choose context in which map quality gets used.
Definition: MarbleGlobal.h:74
Marble::MarbleAbstractPresenter::model
MarbleModel * model()
Definition: MarbleAbstractPresenter.cpp:554
Marble::MarbleAbstractPresenter::moveTo
void moveTo(const QPoint &pos, qreal factor)
Definition: MarbleAbstractPresenter.cpp:393
Marble::MarbleAbstractPresenter::viewAngle
qreal viewAngle() const
Definition: MarbleAbstractPresenter.cpp:539
Marble::MarbleAbstractPresenter::distanceChanged
void distanceChanged(const QString &distanceString)
Marble::MarbleAbstractPresenter::setCenterLongitude
void setCenterLongitude(qreal lon, FlyToMode mode)
Definition: MarbleAbstractPresenter.cpp:477
QPoint
Marble::MarbleAbstractPresenter::distanceFromRadius
qreal distanceFromRadius(qreal radius) const
Definition: MarbleAbstractPresenter.cpp:148
Marble::MarbleAbstractPresenter::radius
int radius() const
Definition: MarbleAbstractPresenter.cpp:311
Marble::MarbleAbstractPresenter::animationsEnabled
bool animationsEnabled() const
Definition: MarbleAbstractPresenter.cpp:514
Marble::MarbleAbstractPresenter::goHome
void goHome(FlyToMode mode=Automatic)
Definition: MarbleAbstractPresenter.cpp:276
Marble::MarbleAbstractPresenter::maximumZoom
int maximumZoom() const
Definition: MarbleAbstractPresenter.cpp:185
Marble::MarbleAbstractPresenter::moveByStep
void moveByStep(int stepsRight, int stepsDown, FlyToMode mode=Automatic)
Rotate the globe in the given direction in discrete steps.
Definition: MarbleAbstractPresenter.cpp:291
Marble::MarbleAbstractPresenter::~MarbleAbstractPresenter
virtual ~MarbleAbstractPresenter()
Definition: MarbleAbstractPresenter.cpp:43
QRect
MarbleMap.h
This file contains the headers for MarbleMap.
GeoDataLookAt.h
Marble::MarbleAbstractPresenter::zoomChanged
void zoomChanged(int zoom)
QObject
Marble::MarbleAbstractPresenter::flyTo
void flyTo(const GeoDataLookAt &newLookAt, FlyToMode mode=Automatic)
Definition: MarbleAbstractPresenter.cpp:77
Marble::MarbleAbstractPresenter::setAnimationsEnabled
void setAnimationsEnabled(bool enabled)
Definition: MarbleAbstractPresenter.cpp:519
Marble::MarbleAbstractPresenter::radiusFromDistance
qreal radiusFromDistance(qreal distance) const
Definition: MarbleAbstractPresenter.cpp:164
Marble::MarbleAbstractPresenter::polarity
int polarity() const
Definition: MarbleAbstractPresenter.cpp:170
Marble::MarbleAbstractPresenter::centerLatitude
qreal centerLatitude() const
Definition: MarbleAbstractPresenter.cpp:482
QString
QList
Marble::MarbleMap
A class that can paint a view of the earth.
Definition: MarbleMap.h:91
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::MarbleAbstractPresenter::setSelection
void setSelection(const QRect &region)
Definition: MarbleAbstractPresenter.cpp:588
Marble::MarbleAbstractPresenter::minimumZoom
int minimumZoom() const
Definition: MarbleAbstractPresenter.cpp:180
Marble::GeoDataLookAt
Definition: GeoDataLookAt.h:23
Marble::MarbleAbstractPresenter::zoomFromDistance
qreal zoomFromDistance(qreal distance) const
Definition: MarbleAbstractPresenter.cpp:271
Marble::FlyToMode
FlyToMode
Describes possible flight mode (interpolation between source and target camera positions) ...
Definition: MarbleGlobal.h:173
GeoDataLatLonBox.h
Marble::MarbleAbstractPresenter::viewContext
ViewContext viewContext() const
Definition: MarbleAbstractPresenter.cpp:492
Marble::MarbleAbstractPresenter::distanceFromZoom
qreal distanceFromZoom(qreal zoom) const
Definition: MarbleAbstractPresenter.cpp:266
Marble::MarbleModel
The data model (not based on QAbstractModel) for a MarbleWidget.
Definition: MarbleModel.h:97
Marble::MarbleAbstractPresenter::MarbleAbstractPresenter
MarbleAbstractPresenter()
Definition: MarbleAbstractPresenter.cpp:31
Marble::MarbleAbstractPresenter::setZoom
void setZoom(int newZoom, FlyToMode mode=Instant)
Definition: MarbleAbstractPresenter.cpp:190
Marble::MarbleAbstractPresenter::distance
qreal distance() const
Definition: MarbleAbstractPresenter.cpp:143
Marble::MarbleAbstractPresenter::logzoom
int logzoom() const
Definition: MarbleAbstractPresenter.cpp:524
Marble::MarbleAbstractPresenter::zoomIn
void zoomIn(FlyToMode mode=Automatic)
Definition: MarbleAbstractPresenter.cpp:230
Marble::MarbleAbstractPresenter::map
MarbleMap * map()
Definition: MarbleAbstractPresenter.cpp:544
Marble::MarbleAbstractPresenter::zoomView
void zoomView(int zoom, FlyToMode mode=Instant)
Definition: MarbleAbstractPresenter.cpp:220
Marble::MarbleAbstractPresenter
Definition: MarbleAbstractPresenter.h:26
Marble::MarbleAbstractPresenter::zoomViewBy
void zoomViewBy(int zoomStep, FlyToMode mode=Instant)
Definition: MarbleAbstractPresenter.cpp:225
Marble::MarbleAbstractPresenter::setDistance
void setDistance(qreal newDistance)
Definition: MarbleAbstractPresenter.cpp:574
Marble::MarblePhysics
Definition: MarblePhysics.h:24
Marble::Instant
Change camera position immediately (no interpolation)
Definition: MarbleGlobal.h:175
Marble::MarbleAbstractPresenter::zoom
int zoom() const
Definition: MarbleAbstractPresenter.cpp:175
Marble::MarbleAbstractPresenter::centerLongitude
qreal centerLongitude() const
Definition: MarbleAbstractPresenter.cpp:487
Marble::MarbleAbstractPresenter::zoomStep
int zoomStep() const
Definition: MarbleAbstractPresenter.cpp:534
Marble::MarbleAbstractPresenter::setLogzoom
void setLogzoom(int value)
Definition: MarbleAbstractPresenter.cpp:529
MarblePhysics.h
Marble::MarbleAbstractPresenter::regionSelected
void regionSelected(const QList< double > &)
This signal is emitted when a new rectangle region is selected over the map The list of double values...
Marble::MarbleAbstractPresenter::setCenterLatitude
void setCenterLatitude(qreal lat, FlyToMode mode)
Definition: MarbleAbstractPresenter.cpp:472
Marble::MarbleAbstractPresenter::lookAt
GeoDataLookAt lookAt() const
Definition: MarbleAbstractPresenter.cpp:131
Marble::GeoDataPlacemark
a class representing a point of interest on the map
Definition: GeoDataPlacemark.h:54
Marble::GeoDataLatLonBox
A class that defines a 2D bounding box for geographic data.
Definition: GeoDataLatLonBox.h:51
Marble::MarbleAbstractPresenter::distanceString
QString distanceString() const
Definition: MarbleAbstractPresenter.cpp:105
Marble::MarbleAbstractPresenter::setViewContext
void setViewContext(ViewContext viewContext)
Definition: MarbleAbstractPresenter.cpp:497
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:40 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal