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

marble

  • sources
  • kde-4.14
  • kdeedu
  • marble
  • src
  • lib
  • marble
  • geodata
  • data
GeoDataContainer.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 2007 Murad Tagirov <tmurad@gmail.com>
9 // Copyright 2007 Inge Wallin <inge@lysator.liu.se>
10 // Copyright 2009 Patrick Spendrin <ps_ml@gmx.de>
11 //
12 
13 
14 #ifndef MARBLE_GEODATACONTAINER_H
15 #define MARBLE_GEODATACONTAINER_H
16 
17 #include <QVector>
18 
19 #include "geodata_export.h"
20 
21 #include "GeoDataFeature.h"
22 
23 namespace Marble
24 {
25 
26 class GeoDataContainerPrivate;
27 
28 class GeoDataFolder;
29 class GeoDataPlacemark;
30 class GeoDataLatLonAltBox;
31 
47 class GEODATA_EXPORT GeoDataContainer : public GeoDataFeature
48 {
49  public:
51  GeoDataContainer();
52  GeoDataContainer( const GeoDataContainer& other );
54  virtual ~GeoDataContainer();
55 
56 
64  GeoDataLatLonAltBox latLonAltBox() const;
65 
72  QVector<GeoDataFolder*> folderList() const;
73 
80  QVector<GeoDataFeature*> featureList() const;
81 
88  QVector<GeoDataPlacemark*> placemarkList() const;
89 
93  GeoDataFeature* child( int );
94 
98  const GeoDataFeature* child( int ) const;
99 
103  int childPosition( const GeoDataFeature *child) const;
104 
105  void insert( GeoDataFeature *other, int index );
106 
110  void append( GeoDataFeature *other );
111 
112  void remove( int index );
113 
117  int size() const;
118 
122  GeoDataFeature& at( int pos );
123  const GeoDataFeature& at( int pos ) const;
124 
128  GeoDataFeature& last();
129  const GeoDataFeature& last() const;
133  GeoDataFeature& first();
134  const GeoDataFeature& first() const;
135 
136  QVector<GeoDataFeature*>::Iterator begin();
137  QVector<GeoDataFeature*>::Iterator end();
138  QVector<GeoDataFeature*>::ConstIterator constBegin() const;
139  QVector<GeoDataFeature*>::ConstIterator constEnd() const;
140  void clear();
141 
146  virtual void pack( QDataStream& stream ) const;
151  virtual void unpack( QDataStream& stream );
152 
153  protected:
154  explicit GeoDataContainer( GeoDataContainerPrivate *priv );
155 
156  bool equals( const GeoDataContainer &other ) const;
157  using GeoDataFeature::equals;
158 
159  private:
160  GeoDataContainerPrivate* p();
161  const GeoDataContainerPrivate* p() const;
162 };
163 
164 }
165 
166 #endif
QDataStream
Marble::GeoDataFeature::equals
bool equals(const GeoDataFeature &other) const
Definition: GeoDataFeature.cpp:94
Marble::GeoDataContainer
A base class that can hold GeoDataFeatures.
Definition: GeoDataContainer.h:47
GeoDataFeature.h
Marble::GeoDataContainerPrivate
Definition: GeoDataContainer_p.h:21
QVector
Marble::GeoDataFeature
A base class for all geodata features.
Definition: GeoDataFeature.h:57
GEODATA_EXPORT
#define GEODATA_EXPORT
Definition: geodata_export.h:22
geodata_export.h
Marble::GeoDataLatLonAltBox
A class that defines a 3D bounding box for geographic data.
Definition: GeoDataLatLonAltBox.h:49
This file is part of the KDE documentation.
Documentation copyright © 1996-2020 The KDE developers.
Generated on Mon Jun 22 2020 13:13:39 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
  • marble
  • parley
  • rocs
  •   App
  •   RocsCore
  •   VisualEditor
  •   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