• 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
VectorMap.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 2006-2007 Torsten Rahn <tackat@kde.org>
9 // Copyright 2007-2008 Inge Wallin <ingwa@kde.org>
10 //
11 
12 #ifndef MARBLE_VECTORMAP_H
13 #define MARBLE_VECTORMAP_H
14 
15 #include <QPointF>
16 #include <QPen>
17 #include <QBrush>
18 
19 #include "MarbleGlobal.h"
20 #include "Quaternion.h"
21 #include "GeoDataCoordinates.h"
22 #include "ScreenPolygon.h"
23 
24 class QPaintDevice;
25 
26 namespace Marble
27 {
28 
29 class GeoPainter;
30 class GeoPolygon;
31 class PntMap;
32 class ViewportParams;
33 
34 class VectorMap
35 {
36  public:
37  VectorMap();
38  ~VectorMap();
39  void createFromPntMap( const PntMap*, const ViewportParams *viewport );
40 
44  void paintMap( GeoPainter *painter );
45 
46  void setzBoundingBoxLimit ( const qreal zBoundingBoxLimit ) {
47  m_zBoundingBoxLimit = zBoundingBoxLimit; }
48  void setzPointLimit ( const qreal zPointLimit ) {
49  m_zPointLimit = zPointLimit; }
50 
51  // void clearNodeCount(){ m_debugNodeCount = 0; }
52  // int nodeCount(){ return m_debugNodeCount; }
53 
54  private:
55  void sphericalCreateFromPntMap( const PntMap*, const ViewportParams *viewport );
56  void rectangularCreateFromPntMap( const PntMap*, const ViewportParams *viewport );
57  void mercatorCreateFromPntMap( const PntMap*, const ViewportParams *viewport );
58 
59  void sphericalCreatePolyLine( const GeoPolygon *geoPolygon,
60  const int detail, const ViewportParams *viewport );
61  void rectangularCreatePolyLine( const GeoPolygon *geoPolygon,
62  const int detail, const ViewportParams *viewport, int offset );
63  void mercatorCreatePolyLine( const GeoPolygon *geoPolygon,
64  const int detail, const ViewportParams *viewport, int offset );
65 
66  QPointF horizonPoint( const ViewportParams *viewport, const QPointF &currentPoint, int rLimit ) const;
67  static void createArc( const ViewportParams *viewport, const QPointF &horizona, const QPointF &horizonb, int rLimit, ScreenPolygon &polygon );
68 
69  int getDetailLevel( int radius ) const;
70 
71  private:
72  qreal m_zBoundingBoxLimit;
73  qreal m_zPointLimit;
74 
75  ScreenPolygon::Vector m_polygons;
76 
77  // int m_debugNodeCount;
78 };
79 
80 }
81 
82 #endif
GeoDataCoordinates.h
Quaternion.h
Marble::VectorMap::~VectorMap
~VectorMap()
Definition: VectorMap.cpp:40
Marble::VectorMap::VectorMap
VectorMap()
Definition: VectorMap.cpp:33
Marble::GeoPainter
A painter that allows to draw geometric primitives on the map.
Definition: GeoPainter.h:98
Marble::VectorMap::setzPointLimit
void setzPointLimit(const qreal zPointLimit)
Definition: VectorMap.h:48
Marble::PntMap
Definition: GeoPolygon.h:95
Marble::ScreenPolygon
Definition: ScreenPolygon.h:22
Marble::GeoPolygon
Definition: GeoPolygon.h:33
MarbleGlobal.h
Marble::ScreenPolygon::Vector
QVector< ScreenPolygon > Vector
Definition: ScreenPolygon.h:33
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
ScreenPolygon.h
Marble::VectorMap::paintMap
void paintMap(GeoPainter *painter)
Paint the background, i.e.
Definition: VectorMap.cpp:673
Marble::VectorMap::createFromPntMap
void createFromPntMap(const PntMap *, const ViewportParams *viewport)
Definition: VectorMap.cpp:45
Marble::VectorMap
Definition: VectorMap.h:34
Marble::VectorMap::setzBoundingBoxLimit
void setzBoundingBoxLimit(const qreal zBoundingBoxLimit)
Definition: VectorMap.h:46
This file is part of the KDE documentation.
Documentation copyright © 1996-2014 The KDE developers.
Generated on Tue Oct 14 2014 22:38:53 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