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 <peterffy95@gmail.org>
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
16namespace Marble
17{
18
19class 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.
28public:
30
31 ~AzimuthalProjection() override;
32
33 bool repeatableX() const override
34 {
35 return false;
36 }
37
38 bool traversablePoles() const override
39 {
40 return true;
41 }
42 bool traversableDateLine() const override
43 {
44 return true;
45 }
46
47 SurfaceType surfaceType() const override
48 {
49 return Azimuthal;
50 }
51
52 PreservationType preservationType() const override
53 {
54 return NoPreservation;
55 }
56
57 bool isClippedToSphere() const override;
58
59 qreal clippingRadius() const override;
60
61 bool mapCoversViewport(const ViewportParams *viewport) const override;
62
63 bool screenCoordinates(const GeoDataLineString &lineString, const ViewportParams *viewport, QList<QPolygonF *> &polygons) const override;
64
66
67 QPainterPath mapShape(const ViewportParams *viewport) const override;
68
69 GeoDataLatLonAltBox latLonAltBox(const QRect &screenRect, const ViewportParams *viewport) const override;
70
71protected:
72 explicit AzimuthalProjection(AzimuthalProjectionPrivate *dd);
73
74private:
75 Q_DECLARE_PRIVATE(AzimuthalProjection)
76 Q_DISABLE_COPY(AzimuthalProjection)
77};
78
79}
80
81#endif
This file contains the headers for AbstractProjection.
A base class for all projections in Marble.
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 the Gnomonic and Orthographic (Globe) projections in Marble.
bool isClippedToSphere() const override
Defines whether a projection is supposed to be clipped to a certain radius.
GeoDataLatLonAltBox latLonAltBox(const QRect &screenRect, const ViewportParams *viewport) const override
Returns a GeoDataLatLonAltBox bounding box of the given screenrect inside the given viewport.
bool mapCoversViewport(const ViewportParams *viewport) const override
Returns whether the projected data fully obstructs the current viewport.
bool repeatableX() const override
Returns whether the projection allows for wrapping in x direction (along the longitude scale).
QPainterPath mapShape(const ViewportParams *viewport) const override
Returns the shape/outline of a map projection.
bool traversablePoles() const override
Returns whether the projection allows to navigate seamlessly "over" the pole.
Binds a QML item to a specific geodetic location in screen coordinates.
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 4 2024 16:37:03 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.