Marble

GeoDataAbstractView.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2009 Gaurav Gupta <1989.gaurav@googlemail.com>
4//
5
6#ifndef MARBLE_GEODATAABSTRACTVIEW_H
7#define MARBLE_GEODATAABSTRACTVIEW_H
8
9#include "GeoDataObject.h"
10#include "MarbleGlobal.h"
11
12#include "geodata_export.h"
13
14namespace Marble
15{
16class GeoDataCoordinates;
17class GeoDataTimeSpan;
18class GeoDataTimeStamp;
19class GeoDataAbstractViewPrivate;
20
21/**
22 * @see GeoDataLookAt
23 */
24class GEODATA_EXPORT GeoDataAbstractView : public GeoDataObject
25{
26public:
28
29 ~GeoDataAbstractView() override;
30
32
33 GeoDataAbstractView &operator=(const GeoDataAbstractView &other);
34
35 bool operator==(const GeoDataAbstractView &other) const;
36 inline bool operator!=(const GeoDataAbstractView &other) const
37 {
38 return !(*this == other);
39 }
40
41 virtual GeoDataAbstractView *copy() const = 0;
42
43 const GeoDataTimeSpan &timeSpan() const;
44
45 GeoDataTimeSpan &timeSpan();
46
47 void setTimeSpan(const GeoDataTimeSpan &timeSpan);
48
49 GeoDataTimeStamp &timeStamp();
50
51 const GeoDataTimeStamp &timeStamp() const;
52
53 void setTimeStamp(const GeoDataTimeStamp &timeStamp);
54
55 AltitudeMode altitudeMode() const;
56
57 void setAltitudeMode(const AltitudeMode altitudeMode);
58
59 GeoDataCoordinates coordinates() const;
60
61private:
62 GeoDataAbstractViewPrivate *const d;
63
64protected:
65 bool equals(const GeoDataAbstractView &other) const;
66
67 using GeoDataObject::equals;
68};
69
70} // namespace Marble
71
72#endif
A 3d point representation.
A base class for all geodata objects.
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 18 2024 12:15:45 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.