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 <QVector>
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
78 void clear();
79 QVector<GeoDataTrack> vector() const;
80
84
85 // Serialize the Placemark to @p stream
86 void pack( QDataStream& stream ) const override;
87 // Unserialize the Placemark from @p stream
88 void unpack( QDataStream& stream ) override;
89
90 private:
91 Q_DECLARE_PRIVATE(GeoDataMultiTrack)
92};
93
94}
95
96#endif // GEODATAMULTITRACK_H
QAction * end(const QObject *recvr, const char *slot, QObject *parent)
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.
bool operator==(const QGraphicsApiFilter &reference, const QGraphicsApiFilter &sample)
bool operator!=(const QGraphicsApiFilter &reference, const QGraphicsApiFilter &sample)
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.