• 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
GeoDataGeometry_p.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 2009 Patrick Spendrin <ps_ml@gmx.de>
9 //
10 
11 #ifndef MARBLE_GEODATAGEOMETRYPRIVATE_H
12 #define MARBLE_GEODATAGEOMETRYPRIVATE_H
13 
14 #include <QString>
15 #include <QAtomicInt>
16 
17 #include "GeoDataGeometry.h"
18 
19 #include "GeoDataLatLonAltBox.h"
20 #include "GeoDataTypes.h"
21 
22 namespace Marble
23 {
24 
25 class GeoDataGeometryPrivate
26 {
27  public:
28  GeoDataGeometryPrivate()
29  : m_extrude( false ),
30  m_altitudeMode( ClampToGround ),
31  ref( 0 )
32  {
33  }
34 
35  GeoDataGeometryPrivate( const GeoDataGeometryPrivate& other )
36  : m_extrude( other.m_extrude ),
37  m_altitudeMode( other.m_altitudeMode ),
38  m_latLonAltBox(),
39  ref( 0 )
40  {
41  }
42 
43  virtual ~GeoDataGeometryPrivate()
44  {
45  }
46 
47  GeoDataGeometryPrivate& operator=( const GeoDataGeometryPrivate &other )
48  {
49  m_extrude = other.m_extrude;
50  m_altitudeMode = other.m_altitudeMode;
51  m_latLonAltBox = other.m_latLonAltBox;
52  return *this;
53  }
54 
55  virtual GeoDataGeometryPrivate* copy()
56  {
57  GeoDataGeometryPrivate* copy = new GeoDataGeometryPrivate;
58  *copy = *this;
59  return copy;
60  }
61 
62  virtual const char* nodeType() const
63  {
64  return GeoDataTypes::GeoDataGeometryType;
65  }
66 
67  virtual EnumGeometryId geometryId() const
68  {
69  return InvalidGeometryId;
70  }
71 
72  bool m_extrude;
73  AltitudeMode m_altitudeMode;
74  mutable GeoDataLatLonAltBox m_latLonAltBox;
75 
76  QAtomicInt ref;
77 };
78 
79 } // namespace Marble
80 
81 #endif
Marble::GeoDataGeometryPrivate::GeoDataGeometryPrivate
GeoDataGeometryPrivate(const GeoDataGeometryPrivate &other)
Definition: GeoDataGeometry_p.h:35
Marble::GeoDataGeometryPrivate::m_extrude
bool m_extrude
Definition: GeoDataGeometry_p.h:72
Marble::GeoDataGeometryPrivate::ref
QAtomicInt ref
Definition: GeoDataGeometry_p.h:76
Marble::GeoDataGeometryPrivate::GeoDataGeometryPrivate
GeoDataGeometryPrivate()
Definition: GeoDataGeometry_p.h:28
Marble::GeoDataGeometryPrivate::nodeType
virtual const char * nodeType() const
Definition: GeoDataGeometry_p.h:62
Marble::GeoDataTypes::GeoDataGeometryType
const char * GeoDataGeometryType
Definition: GeoDataTypes.cpp:43
Marble::GeoDataGeometryPrivate::~GeoDataGeometryPrivate
virtual ~GeoDataGeometryPrivate()
Definition: GeoDataGeometry_p.h:43
Marble::GeoDataGeometryPrivate
Definition: GeoDataGeometry_p.h:25
Marble::AltitudeMode
AltitudeMode
Definition: MarbleGlobal.h:147
Marble::GeoDataGeometryPrivate::m_altitudeMode
AltitudeMode m_altitudeMode
Definition: GeoDataGeometry_p.h:73
QAtomicInt
Marble::GeoDataGeometryPrivate::geometryId
virtual EnumGeometryId geometryId() const
Definition: GeoDataGeometry_p.h:67
Marble::GeoDataGeometryPrivate::operator=
GeoDataGeometryPrivate & operator=(const GeoDataGeometryPrivate &other)
Definition: GeoDataGeometry_p.h:47
Marble::ClampToGround
Altitude always sticks to ground level.
Definition: MarbleGlobal.h:148
GeoDataLatLonAltBox.h
Marble::EnumGeometryId
EnumGeometryId
Definition: Serializable.h:40
Marble::GeoDataGeometryPrivate::m_latLonAltBox
GeoDataLatLonAltBox m_latLonAltBox
Definition: GeoDataGeometry_p.h:74
GeoDataGeometry.h
GeoDataTypes.h
Marble::GeoDataLatLonAltBox
A class that defines a 3D bounding box for geographic data.
Definition: GeoDataLatLonAltBox.h:49
Marble::GeoDataGeometryPrivate::copy
virtual GeoDataGeometryPrivate * copy()
Definition: GeoDataGeometry_p.h:55
Marble::InvalidGeometryId
Definition: Serializable.h:41
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