Marble

GeoDataMultiTrack.h
1 // SPDX-License-Identifier: LGPL-2.1-or-later
2 //
3 // SPDX-FileCopyrightText: 2012 Thibaut Gridel <[email protected]>
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 
14 namespace Marble
15 {
16 
17 class GeoDataMultiTrackPrivate;
18 class GeoDataTrack;
19 
20 /**
21  */
22 class GEODATA_EXPORT GeoDataMultiTrack : public GeoDataGeometry
23 {
24 public:
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  QVector<GeoDataTrack*>::ConstIterator constBegin() const;
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
const QList< QKeySequence > & begin()
QAction * copy(const QObject *recvr, const char *slot, QObject *parent)
bool operator==(const Qt3DRender::QGraphicsApiFilter &reference, const Qt3DRender::QGraphicsApiFilter &sample)
bool operator!=(const Qt3DRender::QGraphicsApiFilter &reference, const Qt3DRender::QGraphicsApiFilter &sample)
Binds a QML item to a specific geodetic location in screen coordinates.
QAction * clear(const QObject *recvr, const char *slot, QObject *parent)
const QList< QKeySequence > & end()
This file is part of the KDE documentation.
Documentation copyright © 1996-2023 The KDE developers.
Generated on Wed Sep 27 2023 04:09:06 by doxygen 1.8.17 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.