• 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
  • projections
SphericalProjection_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 // Copyright 2012 Cezar Mocan <mocancezar@gmail.com>
10 //
11 
12 #ifndef MARBLE_SPHERICALPROJECTIONPRIVATE_H
13 #define MARBLE_SPHERICALPROJECTIONPRIVATE_H
14 
15 #include "AbstractProjection_p.h"
16 
17 
18 namespace Marble
19 {
20 
21 class SphericalProjection;
22 
23 class SphericalProjectionPrivate : public AbstractProjectionPrivate
24 {
25 
26  public:
27  explicit SphericalProjectionPrivate( SphericalProjection * parent );
28 
29  // This method tessellates a line segment in a way that the line segment
30  // follows great circles. The count parameter specifies the
31  // number of nodes generated for the polygon. If the
32  // clampToGround flag is added the polygon contains count + 2
33  // nodes as the clamped down start and end node get added.
34 
35  void tessellateLineSegment( const GeoDataCoordinates &aCoords,
36  qreal ax, qreal ay,
37  const GeoDataCoordinates &bCoords,
38  qreal bx, qreal by,
39  QVector<QPolygonF*> &polygons,
40  const ViewportParams *viewport,
41  TessellationFlags f = 0 ) const;
42 
43  void processTessellation( const GeoDataCoordinates &previousCoords,
44  const GeoDataCoordinates &currentCoords,
45  int count,
46  QVector<QPolygonF*> &polygons,
47  const ViewportParams *viewport,
48  TessellationFlags f = 0 ) const;
49 
50  void crossHorizon( const GeoDataCoordinates & bCoord,
51  QVector<QPolygonF*> &polygons,
52  const ViewportParams *viewport ) const;
53 
54  virtual bool lineStringToPolygon( const GeoDataLineString &lineString,
55  const ViewportParams *viewport,
56  QVector<QPolygonF*> &polygons ) const;
57 
58  void horizonToPolygon( const ViewportParams *viewport,
59  const GeoDataCoordinates & disappearCoords,
60  const GeoDataCoordinates & reappearCoords,
61  QPolygonF* ) const;
62 
63  GeoDataCoordinates findHorizon( const GeoDataCoordinates & previousCoords,
64  const GeoDataCoordinates & currentCoords,
65  const ViewportParams *viewport,
66  TessellationFlags f = 0,
67  int recursionCounter = 0 ) const;
68 
69  bool globeHidesPoint( const GeoDataCoordinates &coordinates,
70  const ViewportParams *viewport ) const;
71 
72  Q_DECLARE_PUBLIC( SphericalProjection )
73 };
74 
75 } // namespace Marble
76 
77 #endif
Marble::AbstractProjectionPrivate
Definition: AbstractProjection_p.h:20
Marble::GeoDataCoordinates
A 3d point representation.
Definition: GeoDataCoordinates.h:52
Marble::SphericalProjectionPrivate
Definition: SphericalProjection_p.h:23
AbstractProjection_p.h
Marble::SphericalProjectionPrivate::processTessellation
void processTessellation(const GeoDataCoordinates &previousCoords, const GeoDataCoordinates &currentCoords, int count, QVector< QPolygonF * > &polygons, const ViewportParams *viewport, TessellationFlags f=0) const
Definition: SphericalProjection.cpp:350
Marble::SphericalProjectionPrivate::crossHorizon
void crossHorizon(const GeoDataCoordinates &bCoord, QVector< QPolygonF * > &polygons, const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:419
Marble::SphericalProjection
A class to implement the spherical projection used by the "Globe" view.
Definition: SphericalProjection.h:36
Marble::GeoDataLineString
A LineString that allows to store a contiguous set of line segments.
Definition: GeoDataLineString.h:75
Marble::SphericalProjectionPrivate::SphericalProjectionPrivate
SphericalProjectionPrivate(SphericalProjection *parent)
Definition: SphericalProjection.cpp:54
Marble::ViewportParams
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
Marble::SphericalProjectionPrivate::tessellateLineSegment
void tessellateLineSegment(const GeoDataCoordinates &aCoords, qreal ax, qreal ay, const GeoDataCoordinates &bCoords, qreal bx, qreal by, QVector< QPolygonF * > &polygons, const ViewportParams *viewport, TessellationFlags f=0) const
Definition: SphericalProjection.cpp:299
Marble::SphericalProjectionPrivate::horizonToPolygon
void horizonToPolygon(const ViewportParams *viewport, const GeoDataCoordinates &disappearCoords, const GeoDataCoordinates &reappearCoords, QPolygonF *) const
Definition: SphericalProjection.cpp:640
Marble::SphericalProjectionPrivate::findHorizon
GeoDataCoordinates findHorizon(const GeoDataCoordinates &previousCoords, const GeoDataCoordinates &currentCoords, const ViewportParams *viewport, TessellationFlags f=0, int recursionCounter=0) const
Definition: SphericalProjection.cpp:680
Marble::SphericalProjectionPrivate::globeHidesPoint
bool globeHidesPoint(const GeoDataCoordinates &coordinates, const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:762
Marble::SphericalProjectionPrivate::lineStringToPolygon
virtual bool lineStringToPolygon(const GeoDataLineString &lineString, const ViewportParams *viewport, QVector< QPolygonF * > &polygons) const
Definition: SphericalProjection.cpp:441
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