Main Page | Class Hierarchy | Alphabetical List | Compound List | File List | Compound Members | File Members

srm::BaseSRF_MapProjection Class Reference

The BaseSRF_MapProjection abstract class is the base class for the 2D SRFs with map projections. More...

#include <BaseSRF.h>

Inheritance diagram for srm::BaseSRF_MapProjection:

Inheritance graph
[legend]
Collaboration diagram for srm::BaseSRF_MapProjection:

Collaboration graph
[legend]
List of all members.

Public Member Functions

virtual bool isA (SRF_ClassType type) const
 Returns true if this SRF is of the given class type.

virtual void setValidGeodeticRegion (const SRM_Integer component, const SRM_Interval_Type type, const SRM_Long_Float lower, const SRM_Long_Float upper)
 Set the Valid Region for this SRF in geodetic coordinates (lon/lat).

virtual void setExtendedValidGeodeticRegion (const SRM_Integer component, const SRM_Interval_Type type, const SRM_Long_Float extended_lower, const SRM_Long_Float lower, const SRM_Long_Float upper, const SRM_Long_Float extended_upper)
 Set the Extended Valid Geodetic Region for this SRF.

virtual void getValidGeodeticRegion (const SRM_Integer component, SRM_Interval_Type &type, SRM_Long_Float &lower, SRM_Long_Float &upper)
 Get the Valid Geodetic Region for this SRF.

virtual void getExtendedValidGeodeticRegion (const SRM_Integer component, SRM_Interval_Type &type, SRM_Long_Float &extended_lower, SRM_Long_Float &lower, SRM_Long_Float &upper, SRM_Long_Float &extended_upper)
 Get the Extended Valid Geodetic Region for this SRF.

virtual SRM_Long_Float calculateConvergenceOfTheMeridian (const CoordSurf &surf_coord)
 Returns the Convergence of the Meridian in radians at a position on the surface of the oblate spheroid RD.

virtual SRM_Long_Float calculatePointDistortion (const CoordSurf &surf_coord)
 Returns the point distortion at a position on the surface of the ellipsoid RD.

virtual SRM_Long_Float calculateMapAzimuth (const CoordSurf &src_coord, const CoordSurf &des_coord)
 Returns the map azimuth in radians between two surface coordinates.


Protected Member Functions

 BaseSRF_MapProjection (void *impl)
 No stack allocation.

BaseSRF_MapProjectionoperator= (const BaseSRF &)
 No copy constructor.

virtual ~BaseSRF_MapProjection ()
 Use release().


Detailed Description

The BaseSRF_MapProjection abstract class is the base class for the 2D SRFs with map projections.

SRFs are allocated by the API, and when no longer needed they should be released by calling the release() method.

Author:
Warren Macchi, David Shen
See also:
BaseSRF_WithEllipsoidalHeight, BaseSRF_3D

Definition at line 1126 of file BaseSRF.h.


Member Function Documentation

virtual SRM_Long_Float srm::BaseSRF_MapProjection::calculateConvergenceOfTheMeridian const CoordSurf surf_coord  )  [virtual]
 

Returns the Convergence of the Meridian in radians at a position on the surface of the oblate spheroid RD.

Exceptions:
This method throws srm::Exception

virtual SRM_Long_Float srm::BaseSRF_MapProjection::calculateMapAzimuth const CoordSurf src_coord,
const CoordSurf des_coord
[virtual]
 

Returns the map azimuth in radians between two surface coordinates.

Exceptions:
This method throws srm::Exception

virtual SRM_Long_Float srm::BaseSRF_MapProjection::calculatePointDistortion const CoordSurf surf_coord  )  [virtual]
 

Returns the point distortion at a position on the surface of the ellipsoid RD.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_MapProjection::getExtendedValidGeodeticRegion const SRM_Integer  component,
SRM_Interval_Type type,
SRM_Long_Float extended_lower,
SRM_Long_Float lower,
SRM_Long_Float upper,
SRM_Long_Float extended_upper
[virtual]
 

Get the Extended Valid Geodetic Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setValidGeodeticRegion method determines the valid and extended valid intervals of the coordinate component values.
Parameters:
component in: the coordinate component (1, 2, or 3)
type out: the type of interval
extended_lower out: the extended lower value of the interval
lower out: the lower value of the interval
upper out: the upper value of the interval
extended_upper out: the extended_upper value of the interval
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_MapProjection::getValidGeodeticRegion const SRM_Integer  component,
SRM_Interval_Type type,
SRM_Long_Float lower,
SRM_Long_Float upper
[virtual]
 

Get the Valid Geodetic Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setExtendedValidGeodeticRegion method determines the valid and extended valid intervals of the coordinate component values.
Parameters:
component in: the coordinate component (1 or 2)
type out: the type of interval
lower out: the lower value of the interval
upper out: the upper value of the interval
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_MapProjection::setExtendedValidGeodeticRegion const SRM_Integer  component,
const SRM_Interval_Type  type,
const SRM_Long_Float  extended_lower,
const SRM_Long_Float  lower,
const SRM_Long_Float  upper,
const SRM_Long_Float  extended_upper
[virtual]
 

Set the Extended Valid Geodetic Region for this SRF.

Note:
Given a coordinate component, the last invocation of this method or the setValidGeodeticRegion method determines the valid and extended valid intervals of the coordinate component values.

Upper or Lower value is ignored if the interval is a semi-interval or unbounded.

The Lower value must be strictly less than the Upper value.

The Extended_Lower value must be strictly greater than the Lower value and the Extended_Upper value must be strictly smaller than the Lower value.

Parameters:
component in: the coordinate component (1 or 2)
type in: the type of interval
extended_lower in: the extended lower value of the interval
lower in: the lower value of the interval
upper in: the upper value of the interval
extended_upper in: the extended_upper value of the interval
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_MapProjection::setValidGeodeticRegion const SRM_Integer  component,
const SRM_Interval_Type  type,
const SRM_Long_Float  lower,
const SRM_Long_Float  upper
[virtual]
 

Set the Valid Region for this SRF in geodetic coordinates (lon/lat).

Note:
Given a coordinate component, the last invocation of this method or the setExtendedValidGeodeticRegion method determines the valid and extended valid intervals of the coordinate component values.

Upper or Lower value is ignored if the interval is a semi-interval or unbounded.

The Lower value must be strictly less than the Upper value.

Parameters:
component in: the coordinate component (1 or 2)
type in: the type of interval
lower in: the lower value of the interval
upper in: the upper value of the interval
Exceptions:
This method throws srm::Exception


The documentation for this class was generated from the following file:
Spatial Reference Model C++ API Version 4.1 - 26 Jun 2006
Copyright © 2006 SEDRIS Docs by Doxygen 1.3.2