Rogue Wave Views 5.6 |
Rogue Wave Views |
Rogue Wave Views Documentation Home |
This class defines the Stereographic projection. More...
#include <ilviews/maps/projection/stereo.h>
Public Member Functions | |
IlvStereographicProjection () | |
Constructor. | |
virtual IlvProjection * | copy () const |
Returns a copy of the projection. It must be overridden in each subclass. | |
virtual IlvProjectionClassInfo * | getClassInfo () const |
Returns the class information for the projection. | |
IlDouble | getLatitudeOfTrueScale () const |
Returns the latitude of the true scale in radian. | |
IlDouble | getScaleFactor () const |
Returns the scale factor applied to the central meridian. | |
virtual IlvMapsError | setEllipsoid (const IlvEllipsoid &ellipsoid) |
Sets the ellipsoid used for the projection. | |
void | setLatitudeOfTrueScale (IlDouble latitudeOfTrueScale) |
Sets the latitude of the true scale in radian. | |
virtual void | setLLCenter (IlDouble lon, IlDouble lat) |
Specifies the central meridian and the central parallel (in radian) associated with the projection. | |
virtual void | setScaleFactor (IlDouble k0) |
Sets the scale factor k0 applied to the central meridian. | |
virtual void | write (IlvOutputFile &) const |
Saves the parameters of a projection to the specified output file. | |
Static Public Member Functions | |
static IlvProjectionClassInfo * | ClassInfo () |
Returns the class information of the class. | |
static IlvClassInfo ** | ClassInfoRef () |
Returns the address of the class information of the class. | |
Protected Member Functions | |
virtual IlvMapsError | eForward (IlvCoordinate &ll) const |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid. | |
virtual IlvMapsError | eInverse (IlvCoordinate &xy) const |
Implements the inverse projection for a non spherical ellipsoid. | |
virtual IlvMapsError | sForward (IlvCoordinate &ll) const |
Must be redefined in subclasses to implement the projection for a sphere. | |
virtual IlvMapsError | sInverse (IlvCoordinate &xy) const |
Must be redefined in subclasses to implement the inverse projection for a sphere. |
This class defines the Stereographic projection.
The Stereographic projection is an Azimuthal projection, that is, a projection onto a plane tangent to the earth at a point specified by the central meridian and the central parallel. By default, the latitude of the true scale is PI/2.
This projection applies both to spherical and non-spherical ellipsoids and implements an inverse function.
This projection is Conformal.
Stereographic Projection
Library: ilvmaps
IlvStereographicProjection::IlvStereographicProjection | ( | ) |
Constructor.
Initializes an instance of the class IlvStereographicProjection
.
static IlvProjectionClassInfo* IlvStereographicProjection::ClassInfo | ( | ) | [static] |
Returns the class information of the class.
This static function is also available for the subclasses of IlvProjection
.
IlvProjectionClassInfo
of the class. Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
static IlvClassInfo** IlvStereographicProjection::ClassInfoRef | ( | ) | [static] |
Returns the address of the class information of the class.
This static function is also available for the subclasses of IlvProjection
.
IlvProjectionClassInfo
of the class. Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
virtual IlvProjection* IlvStereographicProjection::copy | ( | ) | const [virtual] |
Returns a copy of the projection. It must be overridden in each subclass.
Implements IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
virtual IlvMapsError IlvStereographicProjection::eForward | ( | IlvCoordinate & | ll | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
ll | Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude). |
Reimplemented from IlvProjection.
virtual IlvMapsError IlvStereographicProjection::eInverse | ( | IlvCoordinate & | xy | ) | const [protected, virtual] |
Implements the inverse projection for a non spherical ellipsoid.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
virtual IlvProjectionClassInfo* IlvStereographicProjection::getClassInfo | ( | ) | const [virtual] |
Returns the class information for the projection.
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
IlDouble IlvStereographicProjection::getLatitudeOfTrueScale | ( | ) | const |
Returns the latitude of the true scale in radian.
IlDouble IlvStereographicProjection::getScaleFactor | ( | ) | const |
Returns the scale factor applied to the central meridian.
virtual IlvMapsError IlvStereographicProjection::setEllipsoid | ( | const IlvEllipsoid & | ellipsoid | ) | [virtual] |
Sets the ellipsoid used for the projection.
This virtual member function sets the ellipsoid used for the projection. Most of the projections are initialized with a spherical ellipsoid with a radius of 6,370,997 meters.
This function returns IlvMaps::NoError()
if the operation is successful or an error status if you specify a non spherical ellipsoid and your type does not support non spherical.
ellipsoid | The ellipsoid used for the projection. |
IlvMapsError
if the ellipsoid does not match the projection. Reimplemented from IlvProjection.
void IlvStereographicProjection::setLatitudeOfTrueScale | ( | IlDouble | latitudeOfTrueScale | ) |
Sets the latitude of the true scale in radian.
latitudeOfTrueScale | The latitude of the true scale. |
Specifies the central meridian and the central parallel (in radian) associated with the projection.
By default, theses values are set to 0
. This function is virtual because it can be overridden by subclasses of IlvProjection
to update the internal parameters when the center is changed.
lon | The central meridian in radian. | |
lat | The central parallel in radian. |
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
virtual void IlvStereographicProjection::setScaleFactor | ( | IlDouble | k0 | ) | [virtual] |
Sets the scale factor k0 applied to the central meridian.
By default, the scale factor is 1.
k0 | The scale factor applied to the central meridian. |
Reimplemented in IlvUniversalPolarStereographicProjection.
virtual IlvMapsError IlvStereographicProjection::sForward | ( | IlvCoordinate & | ll | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the projection for a sphere.
ll | Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude). |
Implements IlvProjection.
virtual IlvMapsError IlvStereographicProjection::sInverse | ( | IlvCoordinate & | xy | ) | const [protected, virtual] |
Must be redefined in subclasses to implement the inverse projection for a sphere.
The default implementation returns IlvProjection::UnsupportedFeatureError()
.
xy | Contains the Cartesian coordinates to inverse. |
Reimplemented from IlvProjection.
virtual void IlvStereographicProjection::write | ( | IlvOutputFile & | outputFile | ) | const [virtual] |
Saves the parameters of a projection to the specified output file.
It must be overridden by subclasses of IlvProjection
that need to save additional parameters. This function should not be directly called; use the save function instead.
outputFile | The file to write the projection parameters to. |
Reimplemented from IlvProjection.
Reimplemented in IlvUniversalPolarStereographicProjection.
© Copyright 2012, Rogue Wave Software, Inc. All Rights Reserved.
Rogue Wave is a registered trademark of Rogue Wave Software, Inc. in the United States and other countries. All other trademarks are the property of their respective owners.