• Skip to content
  • Skip to link menu
KDE API Reference
  • KDE API Reference
  • kdeedu API Reference
  • KDE Home
  • Contact Us
 

marble

  • kde-4.x
  • kdeedu
  • marble
  • tools
  • vectorosm-tilecreator
WayChunk.h
Go to the documentation of this file.
1 //
2 // This file is part of the Marble Virtual Globe.
3 //
4 // This program is free software licensed under the GNU LGPL. You can
5 // find a copy of this license in LICENSE.txt in the top directory of
6 // the source code.
7 //
8 // Copyright 2016 Akshat Tandon <[email protected]>
9 //
10 
11 #ifndef MARBLE_WAYCHUNK_H
12 #define MARBLE_WAYCHUNK_H
13 
14 #include "GeoDataPlacemark.h"
15 
16 #include <QList>
17 #include <QSharedPointer>
18 
19 namespace Marble {
20 
21 class GeoDataPlacemark;
22 
23 class WayChunk
24 {
25 private:
26  using PlacemarkPtr = QSharedPointer<GeoDataPlacemark>;
27 
28 public:
29  using Ptr = QSharedPointer<WayChunk>;
30 
31  WayChunk(const PlacemarkPtr &placemark, qint64 first, qint64 last );
32  ~WayChunk();
33  void append(const PlacemarkPtr &placemark, qint64 last);
34  void append(const Ptr &chunk);
35  void prepend(const PlacemarkPtr & placemark, qint64 first);
36 
37  /*
38  * Creates a new placemark object by concatenating all the linsetrings which exist in the WayChunk
39  * Caller has the responsibility of deleting the object.
40  */
41  PlacemarkPtr merge();
42 
43  qint64 first() const;
44  qint64 last() const;
45  void reverse();
46  int size() const;
47  bool concatPossible(const GeoDataPlacemark &placemark) const;
48 
49 private:
50  bool isTunnel(const OsmPlacemarkData &osmData) const;
51 
52  QVector<PlacemarkPtr> m_wayList;
53  qint64 m_first;
54  qint64 m_last;
55  GeoDataPlacemark::GeoDataVisualCategory m_visualCategory;
56  bool m_isTunnel;
57 };
58 
59 }
60 
61 #endif
Marble::WayChunk::last
qint64 last() const
Definition: WayChunk.cpp:43
Marble::OsmPlacemarkData
This class is used to encapsulate the osm data fields kept within a placemark's extendedData.
Definition: OsmPlacemarkData.h:50
Marble::WayChunk::first
qint64 first() const
Definition: WayChunk.cpp:38
Marble::WayChunk::append
void append(const PlacemarkPtr &placemark, qint64 last)
Definition: WayChunk.cpp:48
Marble::WayChunk::WayChunk
WayChunk(const PlacemarkPtr &placemark, qint64 first, qint64 last)
Definition: WayChunk.cpp:24
Marble::WayChunk::merge
PlacemarkPtr merge()
Definition: WayChunk.cpp:68
Marble::WayChunk
Definition: WayChunk.h:23
QSharedPointer
Marble::WayChunk::concatPossible
bool concatPossible(const GeoDataPlacemark &placemark) const
Definition: WayChunk.cpp:101
GeoDataPlacemark.h
QVector
Marble::WayChunk::prepend
void prepend(const PlacemarkPtr &placemark, qint64 first)
Definition: WayChunk.cpp:55
Marble::WayChunk::reverse
void reverse()
Definition: WayChunk.cpp:85
Marble::WayChunk::~WayChunk
~WayChunk()
Definition: WayChunk.cpp:33
Marble::WayChunk::size
int size() const
Definition: WayChunk.cpp:96
Marble::GeoDataPlacemark::GeoDataVisualCategory
GeoDataVisualCategory
A categorization of a placemark as defined by ...FIXME.
Definition: GeoDataPlacemark.h:93
Marble::GeoDataPlacemark
a class representing a point of interest on the map
Definition: GeoDataPlacemark.h:53
This file is part of the KDE documentation.
Documentation copyright © 1996-2019 The KDE developers.
Generated on Thu Dec 5 2019 03:14:22 by doxygen 1.8.7 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.

marble

Skip menu "marble"
  • Main Page
  • Namespace List
  • Namespace Members
  • Alphabetical List
  • Class List
  • Class Hierarchy
  • Class Members
  • File List
  • File Members
  • Related Pages

kdeedu API Reference

Skip menu "kdeedu API Reference"
  • Analitza
  •     lib
  • kalgebra
  • kalzium
  •   libscience
  • kanagram
  • kig
  •   lib
  • klettres
  •   KmPlot
  • libkeduvocdocument
  •   keduvocdocument
  • marble
  • parley
  • rocs
  •   src
  •   stepcore

Search



Report problems with this website to our bug tracking system.
Contact the specific authors with questions and comments about the page contents.

KDE® and the K Desktop Environment® logo are registered trademarks of KDE e.V. | Legal