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.
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
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 Fri Jul 26 2024 11:57:57 by doxygen 1.11.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.