Marble

AzimuthalProjection.h
Go to the documentation of this file.
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2014 Gábor Péterffy <[email protected]>
4 //
5 
6 #ifndef MARBLE_AZIMUTHALPROJECTION_H
7 #define MARBLE_AZIMUTHALPROJECTION_H
8 
9 /** @file
10  * This file contains the headers for AzimuthalProjection.
11  *
12  */
13 
14 #include "AbstractProjection.h"
15 
16 namespace Marble
17 {
18 
19 class AzimuthalProjectionPrivate;
20 
21 /**
22  * @short A base class for the Gnomonic and Orthographic (Globe) projections in Marble
23  */
24 
26 {
27  // Not a QObject so far because we don't need to send signals.
28  public:
29 
31 
32  ~AzimuthalProjection() override;
33 
34  bool repeatableX() const override { return false; }
35 
36  bool traversablePoles() const override { return true; }
37  bool traversableDateLine() const override { return true; }
38 
39  SurfaceType surfaceType() const override { return Azimuthal; }
40 
41  PreservationType preservationType() const override { return NoPreservation; }
42 
43  bool isClippedToSphere() const override;
44 
45  qreal clippingRadius() const override;
46 
47  bool mapCoversViewport( const ViewportParams *viewport ) const override;
48 
49  bool screenCoordinates( const GeoDataLineString &lineString,
50  const ViewportParams *viewport,
51  QVector<QPolygonF*> &polygons ) const override;
52 
54 
55  QPainterPath mapShape( const ViewportParams *viewport ) const override;
56 
57  GeoDataLatLonAltBox latLonAltBox( const QRect& screenRect,
58  const ViewportParams *viewport ) const override;
59 
60  protected:
61  explicit AzimuthalProjection( AzimuthalProjectionPrivate* dd );
62 
63  private:
64  Q_DECLARE_PRIVATE( AzimuthalProjection )
65  Q_DISABLE_COPY( AzimuthalProjection )
66 };
67 
68 }
69 
70 #endif
71 
72 
Binds a QML item to a specific geodetic location in screen coordinates.
A base class for the Gnomonic and Orthographic (Globe) projections in Marble.
bool repeatableX() const override
Returns whether the projection allows for wrapping in x direction (along the longitude scale)...
This file contains the headers for AbstractProjection.
bool traversablePoles() const override
Returns whether the projection allows to navigate seamlessly "over" the pole.
A LineString that allows to store a contiguous set of line segments.
A public class that controls what is visible in the viewport of a Marble map.
QPainterPath mapShape(const ViewportParams *viewport) const override
Returns the shape/outline of a map projection.
bool screenCoordinates(const qreal lon, const qreal lat, const ViewportParams *viewport, qreal &x, qreal &y) const
Get the screen coordinates corresponding to geographical coordinates in the map.
A base class for all projections in Marble.
bool mapCoversViewport(const ViewportParams *viewport) const override
Returns whether the projected data fully obstructs the current viewport.
A class that defines a 3D bounding box for geographic data.
GeoDataLatLonAltBox latLonAltBox(const QRect &screenRect, const ViewportParams *viewport) const override
Returns a GeoDataLatLonAltBox bounding box of the given screenrect inside the given viewport...
bool isClippedToSphere() const override
Defines whether a projection is supposed to be clipped to a certain radius.
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Nov 29 2021 23:11:01 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.