Marble::AzimuthalProjection

Search for usage in LXR

Marble::AzimuthalProjection Class Reference

#include <AzimuthalProjection.h>

Inheritance diagram for Marble::AzimuthalProjection:

Public Member Functions

qreal clippingRadius () const override
 
bool isClippedToSphere () const override
 
GeoDataLatLonAltBox latLonAltBox (const QRect &screenRect, const ViewportParams *viewport) const override
 
bool mapCoversViewport (const ViewportParams *viewport) const override
 
QPainterPath mapShape (const ViewportParams *viewport) const override
 
PreservationType preservationType () const override
 
bool repeatableX () const override
 
virtual bool screenCoordinates (const GeoDataCoordinates &coordinates, const ViewportParams *viewport, qreal *x, qreal &y, int &pointRepeatNum, const QSizeF &size, bool &globeHidesPoint) const=0
 
bool screenCoordinates (const GeoDataCoordinates &geopoint, const ViewportParams *viewport, qreal &x, qreal &y) const
 
virtual bool screenCoordinates (const GeoDataCoordinates &geopoint, const ViewportParams *viewport, qreal &x, qreal &y, bool &globeHidesPoint) const=0
 
bool screenCoordinates (const GeoDataLineString &lineString, const ViewportParams *viewport, QList< QPolygonF * > &polygons) const override
 
bool screenCoordinates (const qreal lon, const qreal lat, const ViewportParams *viewport, qreal &x, qreal &y) const
 
SurfaceType surfaceType () const override
 
bool traversableDateLine () const override
 
bool traversablePoles () const override
 
- Public Member Functions inherited from Marble::AbstractProjection
 AbstractProjection ()
 
virtual QString description () const =0
 
virtual bool geoCoordinates (const int x, const int y, const ViewportParams *viewport, qreal &lon, qreal &lat, GeoDataCoordinates::Unit unit=GeoDataCoordinates::Degree) const =0
 
virtual QIcon icon () const =0
 
virtual bool isOrientedNormal () const
 
QRegion mapRegion (const ViewportParams *viewport) const
 
qreal maxLat () const
 
virtual qreal maxValidLat () const
 
qreal minLat () const
 
virtual qreal minValidLat () const
 
virtual QString name () const =0
 
bool screenCoordinates (const GeoDataCoordinates &geopoint, const ViewportParams *viewport, qreal &x, qreal &y) const
 
bool screenCoordinates (const qreal lon, const qreal lat, const ViewportParams *viewport, qreal &x, qreal &y) const
 
void setMaxLat (qreal maxLat)
 
void setMinLat (qreal minLat)
 

Protected Member Functions

 AzimuthalProjection (AzimuthalProjectionPrivate *dd)
 
- Protected Member Functions inherited from Marble::AbstractProjection
 AbstractProjection (AbstractProjectionPrivate *dd)
 

Additional Inherited Members

- Public Types inherited from Marble::AbstractProjection
enum  PreservationType { NoPreservation , Conformal , EqualArea }
 
enum  SurfaceType {
  Cylindrical , Pseudocylindrical , Hybrid , Conical ,
  Pseudoconical , Azimuthal
}
 
- Protected Attributes inherited from Marble::AbstractProjection
const QScopedPointer< AbstractProjectionPrivate > d_ptr
 

Detailed Description

A base class for the Gnomonic and Orthographic (Globe) projections in Marble.

Definition at line 25 of file AzimuthalProjection.h.

Constructor & Destructor Documentation

◆ AzimuthalProjection()

Marble::AzimuthalProjection::AzimuthalProjection ( AzimuthalProjectionPrivate * dd)
explicitprotected

Definition at line 148 of file AzimuthalProjection.cpp.

Member Function Documentation

◆ clippingRadius()

qreal Marble::AzimuthalProjection::clippingRadius ( ) const
overridevirtual

Reimplemented from Marble::AbstractProjection.

Definition at line 28 of file AzimuthalProjection.cpp.

◆ isClippedToSphere()

bool Marble::AzimuthalProjection::isClippedToSphere ( ) const
overridevirtual

Defines whether a projection is supposed to be clipped to a certain radius.

Example: The Gnomonic projection is clipped to a circle of a certain clipping radius (although it's mathematically defined beyond that radius).

Reimplemented from Marble::AbstractProjection.

Definition at line 23 of file AzimuthalProjection.cpp.

◆ latLonAltBox()

GeoDataLatLonAltBox Marble::AzimuthalProjection::latLonAltBox ( const QRect & screenRect,
const ViewportParams * viewport ) const
overridevirtual

Returns a GeoDataLatLonAltBox bounding box of the given screenrect inside the given viewport.

Reimplemented from Marble::AbstractProjection.

Definition at line 66 of file AzimuthalProjection.cpp.

◆ mapCoversViewport()

bool Marble::AzimuthalProjection::mapCoversViewport ( const ViewportParams * viewport) const
overridevirtual

Returns whether the projected data fully obstructs the current viewport.

In this case there are no black areas visible around the actual map. This case allows for performance optimizations.

Implements Marble::AbstractProjection.

Definition at line 47 of file AzimuthalProjection.cpp.

◆ mapShape()

QPainterPath Marble::AzimuthalProjection::mapShape ( const ViewportParams * viewport) const
overridevirtual

Returns the shape/outline of a map projection.

This call allows e.g. to draw the default background color of the map itself.

Example: For an azimuthal projection a circle is returned at low zoom values.

Implements Marble::AbstractProjection.

Definition at line 126 of file AzimuthalProjection.cpp.

◆ preservationType()

PreservationType Marble::AzimuthalProjection::preservationType ( ) const
inlineoverridevirtual

Reimplemented from Marble::AbstractProjection.

Definition at line 52 of file AzimuthalProjection.h.

◆ repeatableX()

bool Marble::AzimuthalProjection::repeatableX ( ) const
inlineoverridevirtual

Returns whether the projection allows for wrapping in x direction (along the longitude scale).

Example: Cylindrical projections allow for repeating.

Reimplemented from Marble::AbstractProjection.

Definition at line 33 of file AzimuthalProjection.h.

◆ screenCoordinates() [1/5]

virtual bool Marble::AbstractProjection::screenCoordinates ( const GeoDataCoordinates & coordinates,
const ViewportParams * viewport,
qreal * x,
qreal & y,
int & pointRepeatNum,
const QSizeF & size,
bool & globeHidesPoint ) const
virtual

Get the coordinates of screen points for geographical coordinates in the map.

Parameters
coordinatesthe point on earth, including altitude, that we want the coordinates for.
viewportthe viewport parameters
xthe x coordinates of the pixels are returned through this parameter
ythe y coordinate of the pixel is returned through this parameter
pointRepeatNumthe amount of times that a single geographical point gets represented on the map
sizethe size
globeHidesPointwhether the point gets hidden on the far side of the earth
Returns
true if the geographical coordinates are visible on the screen false if the geographical coordinates are not visible on the screen
See also
ViewportParams

Implements Marble::AbstractProjection.

Reimplemented in Marble::GnomonicProjection, Marble::LambertAzimuthalProjection, Marble::SphericalProjection, Marble::StereographicProjection, and Marble::VerticalPerspectiveProjection.

◆ screenCoordinates() [2/5]

bool AbstractProjection::screenCoordinates ( const GeoDataCoordinates & geopoint,
const ViewportParams * viewport,
qreal & x,
qreal & y ) const

Definition at line 187 of file AbstractProjection.cpp.

◆ screenCoordinates() [3/5]

virtual bool Marble::AbstractProjection::screenCoordinates ( const GeoDataCoordinates & geopoint,
const ViewportParams * viewport,
qreal & x,
qreal & y,
bool & globeHidesPoint ) const
virtual

Get the screen coordinates corresponding to geographical coordinates in the map.

Parameters
geopointthe point on earth, including altitude, that we want the coordinates for.
viewportthe viewport parameters
xthe x coordinate of the pixel is returned through this parameter
ythe y coordinate of the pixel is returned through this parameter
globeHidesPointwhether the point gets hidden on the far side of the earth
Returns
true if the geographical coordinates are visible on the screen false if the geographical coordinates are not visible on the screen
See also
ViewportParams

Implements Marble::AbstractProjection.

Reimplemented in Marble::GnomonicProjection, Marble::LambertAzimuthalProjection, Marble::SphericalProjection, Marble::StereographicProjection, and Marble::VerticalPerspectiveProjection.

◆ screenCoordinates() [4/5]

bool Marble::AzimuthalProjection::screenCoordinates ( const GeoDataLineString & lineString,
const ViewportParams * viewport,
QList< QPolygonF * > & polygons ) const
overridevirtual

Implements Marble::AbstractProjection.

Definition at line 33 of file AzimuthalProjection.cpp.

◆ screenCoordinates() [5/5]

bool AbstractProjection::screenCoordinates ( const qreal lon,
const qreal lat,
const ViewportParams * viewport,
qreal & x,
qreal & y ) const

Get the screen coordinates corresponding to geographical coordinates in the map.

Parameters
lonthe lon coordinate of the requested pixel position in radians
latthe lat coordinate of the requested pixel position in radians
viewportthe viewport parameters
xthe x coordinate of the pixel is returned through this parameter
ythe y coordinate of the pixel is returned through this parameter
Returns
true if the geographical coordinates are visible on the screen false if the geographical coordinates are not visible on the screen
See also
ViewportParams

Definition at line 168 of file AbstractProjection.cpp.

◆ surfaceType()

SurfaceType Marble::AzimuthalProjection::surfaceType ( ) const
inlineoverridevirtual

Implements Marble::AbstractProjection.

Definition at line 47 of file AzimuthalProjection.h.

◆ traversableDateLine()

bool Marble::AzimuthalProjection::traversableDateLine ( ) const
inlineoverridevirtual

Reimplemented from Marble::AbstractProjection.

Definition at line 42 of file AzimuthalProjection.h.

◆ traversablePoles()

bool Marble::AzimuthalProjection::traversablePoles ( ) const
inlineoverridevirtual

Returns whether the projection allows to navigate seamlessly "over" the pole.

Example: Azimuthal projections.

Reimplemented from Marble::AbstractProjection.

Definition at line 38 of file AzimuthalProjection.h.


The documentation for this class was generated from the following files:
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Mon Nov 18 2024 12:15:46 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.