rwlogo
Rogue Wave Views 5.6

Rogue Wave Views
Maps Package API Reference Guide

Product Documentation:

Rogue Wave Views
Documentation Home

IlvStereographicProjection Class Reference

This class defines the Stereographic projection. More...

#include <ilviews/maps/projection/stereo.h>

Inheritance diagram for IlvStereographicProjection:
IlvProjection IlvUniversalPolarStereographicProjection

List of all members.

Public Member Functions

 IlvStereographicProjection ()
 Constructor.
virtual IlvProjectioncopy () const
 Returns a copy of the projection. It must be overridden in each subclass.
virtual IlvProjectionClassInfogetClassInfo () 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 IlvProjectionClassInfoClassInfo ()
 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.

Detailed Description

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.jpg

Stereographic Projection

Library: ilvmaps

See also:
IlvUniversalPolarStereographicProjection.

Constructor & Destructor Documentation

IlvStereographicProjection::IlvStereographicProjection (  ) 

Constructor.

Initializes an instance of the class IlvStereographicProjection.


Member Function Documentation

static IlvProjectionClassInfo* IlvStereographicProjection::ClassInfo (  )  [static]

Returns the class information of the class.

This static function is also available for the subclasses of IlvProjection.

Returns:
The 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.

Returns:
The address of the 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.

Returns:
The copy of the object.

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().

Parameters:
ll Contains the longitude and latitude coordinates in radian (x = longitude, y = latitude).
Returns:
An error code.

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().

Parameters:
xy Contains the Cartesian coordinates to inverse.
Returns:
An error code.

Reimplemented from IlvProjection.

virtual IlvProjectionClassInfo* IlvStereographicProjection::getClassInfo (  )  const [virtual]

Returns the class information for the projection.

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.

Returns:
The latitude of the true scale.
IlDouble IlvStereographicProjection::getScaleFactor (  )  const

Returns the scale factor applied to the central meridian.

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.

Parameters:
ellipsoid The ellipsoid used for the projection.
Returns:
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.

Warning:
[note] The latitude of the true scale is used only if the central parallel of the projection is located at +PI/2 (North Pole) or -PI/2 (South Pole).
Parameters:
latitudeOfTrueScale The latitude of the true scale.
virtual void IlvStereographicProjection::setLLCenter ( IlDouble  lon,
IlDouble  lat 
) [virtual]

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.

Parameters:
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.

Warning:
[note] The scale factor is not used if the central parallel of the projection is located at +PI/2 (north pole) or -PI/2 (south pole).
Parameters:
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.

Parameters:
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().

Parameters:
xy Contains the Cartesian coordinates to inverse.
Returns:
An error code.

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.

Parameters:
outputFile The file to write the projection parameters to.

Reimplemented from IlvProjection.

Reimplemented in IlvUniversalPolarStereographicProjection.

 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines

© 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.