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

marble

  • sources
  • kde-4.12
  • kdeedu
  • marble
  • src
  • lib
  • marble
  • geodata
  • data
GeoDataGeometry.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 Torsten Rahn <rahn@kde.org>
9 // Copyright 2008-2009 Patrick Spendrin <ps_ml@gmx.de>
10 // Copyright 2008 Inge Wallin <inge@lysator.liu.se>
11 //
12 
13 
14 #ifndef MARBLE_GEODATAGEOMETRY_H
15 #define MARBLE_GEODATAGEOMETRY_H
16 
17 
18 #include "GeoDataObject.h"
19 #include "Serializable.h"
20 #include "MarbleGlobal.h"
21 
22 #include "geodata_export.h"
23 
24 namespace Marble
25 {
26 
27 class GeoDataGeometryPrivate;
28 
29 class GeoDataPoint;
30 class GeoDataPolygon;
31 class GeoDataLatLonAltBox;
32 class GeoDataLineString; // LinearRing is the same!
33 class GeoDataMultiGeometry;
34 class GeoDataOrientation;
35 
47 class GEODATA_EXPORT GeoDataGeometry : public GeoDataObject
48 {
49  friend class GeoDataPoint;
50  friend class GeoDataPolygon;
51  friend class GeoDataLineString;
52  friend class GeoDataMultiGeometry;
53  friend class GeoDataMultiTrack;
54  friend class GeoDataOrientation;
55  public:
56  GeoDataGeometry();
57  GeoDataGeometry( const GeoDataGeometry& other );
58  GeoDataGeometry& operator=( const GeoDataGeometry& other );
59 
60  virtual ~GeoDataGeometry();
61 
63  virtual const char* nodeType() const;
64  virtual EnumGeometryId geometryId() const;
65 
66  bool extrude() const;
67  void setExtrude( bool extrude );
68 
69  AltitudeMode altitudeMode() const;
70  void setAltitudeMode( const AltitudeMode altitudeMode );
71 
72  virtual const GeoDataLatLonAltBox& latLonAltBox() const;
73 
75  virtual void pack( QDataStream& stream ) const;
77  virtual void unpack( QDataStream& stream );
78 
79  void detach();
80  private:
81  GeoDataGeometryPrivate* p() const;
82  GeoDataGeometryPrivate* d;
83  explicit GeoDataGeometry( GeoDataGeometryPrivate* priv );
84 };
85 
86 }
87 
88 Q_DECLARE_METATYPE( Marble::GeoDataGeometry* )
89 
90 #endif
Marble::GeoDataPoint
A Geometry object representing a 3d point.
Definition: GeoDataPoint.h:47
Marble::GeoDataMultiTrack
Definition: GeoDataMultiTrack.h:25
Marble::GeoDataObject
A base class for all geodata objects.
Definition: GeoDataObject.h:48
Marble::GeoDataGeometry
A base class for all geodata features.
Definition: GeoDataGeometry.h:47
Marble::GeoDataGeometryPrivate
Definition: GeoDataGeometry_p.h:25
Marble::AltitudeMode
AltitudeMode
Definition: MarbleGlobal.h:145
Marble::GeoDataPolygon
A polygon that can have "holes".
Definition: GeoDataPolygon.h:81
GeoDataObject.h
MarbleGlobal.h
Marble::GeoDataLineString
A LineString that allows to store a contiguous set of line segments.
Definition: GeoDataLineString.h:75
Marble::EnumGeometryId
EnumGeometryId
Definition: Serializable.h:40
Marble::GeoDataMultiGeometry
Definition: GeoDataMultiGeometry.h:33
GEODATA_EXPORT
#define GEODATA_EXPORT
Definition: geodata_export.h:22
geodata_export.h
Marble::GeoDataOrientation
Definition: GeoDataOrientation.h:21
Serializable.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-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:49 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
  • kstars
  • libkdeedu
  •   keduvocdocument
  • 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