Marble

GeoDataMultiTrack.h
1// SPDX-License-Identifier: LGPL-2.1-or-later
2//
3// SPDX-FileCopyrightText: 2012 Thibaut Gridel <tgridel@free.fr>
4
5#ifndef GEODATAMULTITRACK_H
6#define GEODATAMULTITRACK_H
7
8#include "geodata_export.h"
9
10#include "GeoDataGeometry.h"
11
12#include <QList>
13
14namespace Marble
15{
16
17class GeoDataMultiTrackPrivate;
18class GeoDataTrack;
19
20/**
21 */
22class GEODATA_EXPORT GeoDataMultiTrack : public GeoDataGeometry
23{
24public:
25 GeoDataMultiTrack();
26 explicit GeoDataMultiTrack(const GeoDataGeometry &other);
27
28 ~GeoDataMultiTrack() override;
29
30 const char *nodeType() const override;
31
32 EnumGeometryId geometryId() const override;
33
34 GeoDataGeometry *copy() const override;
35
36 bool operator==(const GeoDataMultiTrack &other) const;
37 bool operator!=(const GeoDataMultiTrack &other) const;
38
39 const GeoDataLatLonAltBox &latLonAltBox() const override;
40
41 int size() const;
42 GeoDataTrack &at(int pos);
43 const GeoDataTrack &at(int pos) const;
44 GeoDataTrack &operator[](int pos);
45 const GeoDataTrack &operator[](int pos) const;
46
47 GeoDataTrack &first();
48 const GeoDataTrack &first() const;
49 GeoDataTrack &last();
50 const GeoDataTrack &last() const;
51
52 /**
53 * @brief returns the requested child item
54 */
55 GeoDataTrack *child(int);
56
57 /**
58 * @brief returns the requested child item
59 */
60 const GeoDataTrack *child(int) const;
61
62 /**
63 * @brief returns the position of an item in the list
64 */
65 int childPosition(const GeoDataTrack *child) const;
66
67 /**
68 * @brief add an element
69 */
70 void append(GeoDataTrack *other);
71
72 GeoDataMultiTrack &operator<<(const GeoDataTrack &value);
73
76 QList<GeoDataTrack *>::ConstIterator constBegin() const;
78 void clear();
79 QList<GeoDataTrack> vector() const;
80
83
84 // Serialize the Placemark to @p stream
85 void pack(QDataStream &stream) const override;
86 // Unserialize the Placemark from @p stream
87 void unpack(QDataStream &stream) override;
88
89private:
90 Q_DECLARE_PRIVATE(GeoDataMultiTrack)
91};
92
93}
94
95#endif // GEODATAMULTITRACK_H
KCALENDARCORE_EXPORT QDataStream & operator<<(QDataStream &out, const KCalendarCore::Alarm::Ptr &)
QAction * end(const QObject *recvr, const char *slot, QObject *parent)
KIOCORE_EXPORT bool operator!=(const UDSEntry &entry, const UDSEntry &other)
KIOCORE_EXPORT bool operator==(const UDSEntry &entry, const UDSEntry &other)
KIOCORE_EXPORT CopyJob * copy(const QList< QUrl > &src, const QUrl &dest, JobFlags flags=DefaultFlags)
KGuiItem clear()
const QList< QKeySequence > & begin()
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.