marble
SphericalProjection.cpp
Go to the documentation of this file.
327 int const finalTessellationPrecision = smallScreen ? 3 * tessellationPrecision : tessellationPrecision;
333 const int tessellatedNodes = qMin<int>( distance / finalTessellationPrecision, maxTessellationNodes );
402 const Quaternion itpos = Quaternion::nlerp( previousCoords.quaternion(), currentCoords.quaternion(), t );
680 GeoDataCoordinates SphericalProjectionPrivate::findHorizon( const GeoDataCoordinates & previousCoords,
744 const Quaternion itpos = Quaternion::nlerp( previousCoords.quaternion(), currentCoords.quaternion(), 0.5 );
virtual bool screenCoordinates(const GeoDataCoordinates &coordinates, const ViewportParams *params, qreal &x, qreal &y, bool &globeHidesPoint) const
Get the screen coordinates corresponding to geographical coordinates in the map.
Definition: SphericalProjection.cpp:76
void setNorth(const qreal north, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian)
Definition: GeoDataLatLonBox.cpp:101
QVector< GeoDataCoordinates >::ConstIterator constEnd() const
Returns a const iterator that points to the end of the LineString.
Definition: GeoDataLineString.cpp:216
void setAltitude(const qreal altitude)
set the altitude of the Point in meters
Definition: GeoDataCoordinates.cpp:1191
static qreal normalizeLon(qreal lon, GeoDataCoordinates::Unit=GeoDataCoordinates::Radian)
normalize the longitude to always be -M_PI <= lon <= +M_PI (Radian).
Definition: GeoDataCoordinates.cpp:776
virtual qreal minValidLat() const
Definition: SphericalProjection.cpp:71
void setSouth(const qreal south, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian)
Definition: GeoDataLatLonBox.cpp:122
bool geoCoordinates(const int x, const int y, const ViewportParams *params, qreal &lon, qreal &lat, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Degree) const
Get the earth coordinates corresponding to a pixel in the map.
Definition: SphericalProjection.cpp:148
virtual GeoDataLatLonAltBox latLonAltBox(const QRect &screenRect, const ViewportParams *viewport) const
Definition: AbstractProjection.cpp:111
This file contains the headers for SphericalProjection.
qreal latitude(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
retrieves the latitude of the GeoDataCoordinates object use the unit parameter to switch between Radi...
Definition: GeoDataCoordinates.cpp:751
void setWest(const qreal west, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian)
Definition: GeoDataLatLonBox.cpp:164
static Quaternion nlerp(const Quaternion &q1, const Quaternion &q2, qreal t)
Definition: Quaternion.cpp:207
QVector< GeoDataCoordinates >::ConstIterator ConstIterator
Definition: GeoDataLineString.h:80
TessellationFlags tessellationFlags() const
Returns the tessellation flags for a LineString.
Definition: GeoDataLineString.cpp:302
void rotateAroundAxis(const Quaternion &q)
Definition: Quaternion.cpp:167
virtual bool isClosed() const
Returns whether a LineString is a closed polygon.
Definition: GeoDataLineString.cpp:275
qreal altitude() const
return the altitude of the Point in meters
Definition: GeoDataCoordinates.cpp:1197
qreal east(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
Get the eastern boundary of the bounding box.
Definition: GeoDataLatLonBox.cpp:135
void processTessellation(const GeoDataCoordinates &previousCoords, const GeoDataCoordinates ¤tCoords, int count, QVector< QPolygonF * > &polygons, const ViewportParams *viewport, TessellationFlags f=0) const
Definition: SphericalProjection.cpp:350
virtual ~SphericalProjection()
Definition: SphericalProjection.cpp:49
void geoCoordinates(qreal &lon, qreal &lat, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
use this function to get the longitude and latitude with one call - use the unit parameter to switch ...
Definition: GeoDataCoordinates.cpp:715
void setMaxLat(qreal maxLat)
Definition: AbstractProjection.cpp:60
static const int tessellationPrecision
Definition: AbstractProjection.h:37
virtual qreal maxValidLat() const
Definition: SphericalProjection.cpp:66
bool mapCoversViewport() const
Definition: ViewportParams.cpp:398
void crossHorizon(const GeoDataCoordinates &bCoord, QVector< QPolygonF * > &polygons, const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:419
A class to implement the spherical projection used by the "Globe" view.
Definition: SphericalProjection.h:36
Definition: Quaternion.h:34
static qreal normalizeLat(qreal lat, GeoDataCoordinates::Unit=GeoDataCoordinates::Radian)
normalize latitude to always be in -M_PI / 2.
Definition: GeoDataCoordinates.cpp:799
const matrix & planetAxisMatrix() const
Definition: ViewportParams.cpp:245
A LineString that allows to store a contiguous set of line segments.
Definition: GeoDataLineString.h:75
SphericalProjectionPrivate(SphericalProjection *parent)
Definition: SphericalProjection.cpp:54
A public class that controls what is visible in the viewport of a Marble map.
Definition: ViewportParams.h:44
virtual bool repeatableX() const
Definition: SphericalProjection.cpp:61
Definition: Quaternion.h:33
virtual QPainterPath mapShape(const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:256
qreal longitude(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
retrieves the longitude of the GeoDataCoordinates object use the unit parameter to switch between Rad...
Definition: GeoDataCoordinates.cpp:739
Definition: Quaternion.h:32
This file contains the headers for ViewportParams.
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
void horizonToPolygon(const ViewportParams *viewport, const GeoDataCoordinates &disappearCoords, const GeoDataCoordinates &reappearCoords, QPolygonF *) const
Definition: SphericalProjection.cpp:640
Definition: MarbleGlobal.h:33
qreal west(GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian) const
Get the western boundary of the bounding box.
Definition: GeoDataLatLonBox.cpp:156
GeoDataCoordinates findHorizon(const GeoDataCoordinates &previousCoords, const GeoDataCoordinates ¤tCoords, const ViewportParams *viewport, TessellationFlags f=0, int recursionCounter=0) const
Definition: SphericalProjection.cpp:680
bool globeHidesPoint(const GeoDataCoordinates &coordinates, const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:762
QVector< GeoDataCoordinates >::ConstIterator constBegin() const
Returns a const iterator that points to the begin of the LineString.
Definition: GeoDataLineString.cpp:211
Definition: Quaternion.h:43
A base class for all projections in Marble.
Definition: AbstractProjection.h:49
bool resolves(const GeoDataLatLonBox &latLonBox) const
Definition: ViewportParams.cpp:330
bool mapCoversViewport(const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:237
Definition: MarbleGlobal.h:34
void getSpherical(qreal &lon, qreal &lat) const
Definition: Quaternion.cpp:48
virtual bool lineStringToPolygon(const GeoDataLineString &lineString, const ViewportParams *viewport, QVector< QPolygonF * > &polygons) const
Definition: SphericalProjection.cpp:441
A class that defines a 3D bounding box for geographic data.
Definition: GeoDataLatLonAltBox.h:49
virtual const GeoDataLatLonAltBox & latLonAltBox() const
Returns the smallest latLonAltBox that contains the LineString.
Definition: GeoDataLineString.cpp:545
void setMinLat(qreal minLat)
Definition: AbstractProjection.cpp:82
bool tessellate() const
Returns whether the LineString follows the earth's surface.
Definition: GeoDataLineString.cpp:280
GeoDataLatLonAltBox latLonAltBox(const QRect &screenRect, const ViewportParams *viewport) const
Definition: SphericalProjection.cpp:176
const Quaternion & quaternion() const
return a Quaternion with the used coordinates
Definition: GeoDataCoordinates.cpp:1226
void setEast(const qreal east, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Radian)
Definition: GeoDataLatLonBox.cpp:143
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
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.