• 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
GeoDataMultiGeometry.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 2008 Patrick Spendrin <ps_ml@gmx.de>
9 //
10 
11 
12 #ifndef MARBLE_GEODATAMULTIGEOMETRY_H
13 #define MARBLE_GEODATAMULTIGEOMETRY_H
14 
15 
16 #include "geodata_export.h"
17 
18 #include "GeoDataGeometry.h"
19 #include <QVector>
20 
21 namespace Marble
22 {
23 
31 class GeoDataMultiGeometryPrivate;
32 
33 class GEODATA_EXPORT GeoDataMultiGeometry : public GeoDataGeometry
34 {
35  public:
36  GeoDataMultiGeometry();
37  explicit GeoDataMultiGeometry( const GeoDataGeometry& other );
38 
39  virtual ~GeoDataMultiGeometry();
40 
41  virtual const GeoDataLatLonAltBox& latLonAltBox() const;
42 
43  int size() const;
44  GeoDataGeometry& at( int pos );
45  const GeoDataGeometry& at( int pos ) const;
46  GeoDataGeometry& operator[]( int pos );
47  const GeoDataGeometry& operator[]( int pos ) const;
48 
49  GeoDataGeometry& first();
50  const GeoDataGeometry& first() const;
51  GeoDataGeometry& last();
52  const GeoDataGeometry& last() const;
53 
57  GeoDataGeometry* child( int );
58 
62  const GeoDataGeometry* child( int ) const;
63 
67  int childPosition( const GeoDataGeometry *child ) const;
68 
72  void append( GeoDataGeometry *other );
73 
74  GeoDataMultiGeometry& operator << ( const GeoDataGeometry& value );
75 
76  QVector<GeoDataGeometry*>::Iterator begin();
77  QVector<GeoDataGeometry*>::Iterator end();
78  QVector<GeoDataGeometry*>::ConstIterator constBegin() const;
79  QVector<GeoDataGeometry*>::ConstIterator constEnd() const;
80  void clear();
81  QVector<GeoDataGeometry> vector() const;
82 
83  QVector<GeoDataGeometry*>::Iterator erase ( QVector<GeoDataGeometry*>::Iterator pos );
84  QVector<GeoDataGeometry*>::Iterator erase ( QVector<GeoDataGeometry*>::Iterator begin,
85  QVector<GeoDataGeometry*>::Iterator end );
86 
87  // Serialize the Placemark to @p stream
88  virtual void pack( QDataStream& stream ) const;
89  // Unserialize the Placemark from @p stream
90  virtual void unpack( QDataStream& stream );
91  private:
92  GeoDataMultiGeometryPrivate *p();
93  const GeoDataMultiGeometryPrivate *p() const;
94 };
95 
96 }
97 
98 #endif
QDataStream
Marble::GeoDataGeometry
A base class for all geodata features.
Definition: GeoDataGeometry.h:47
QVector
Marble::GeoDataMultiGeometryPrivate
Definition: GeoDataMultiGeometry_p.h:21
Marble::GeoDataMultiGeometry
Definition: GeoDataMultiGeometry.h:33
GEODATA_EXPORT
#define GEODATA_EXPORT
Definition: geodata_export.h:22
geodata_export.h
Marble::operator<<
QTextStream & operator<<(QTextStream &stream, const RoutingInstruction &i)
Definition: RoutingInstruction.cpp:461
GeoDataGeometry.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