CartoType API
Public Member Functions | Protected Member Functions | Protected Attributes
CartoType::TProjection Class Reference

#include <cartotype_projection.h>

Inheritance diagram for CartoType::TProjection:
CartoType::TCoordinateTransform CartoType::TCylindricalEquidistant CartoType::TNullProjection CartoType::TTransverseMercator CartoType::TUniversalTransverseMercator

List of all members.

Public Member Functions

CT_IMPORT TResult Project (const TPoint &aInput, TPoint &aOutput) const
CT_IMPORT TResult Inverse (const TPoint &aInput, TPoint &aOutput) const
CT_IMPORT TResult ProjectTo64ths (const TPoint &aInput, TPoint &aOutput) const
CT_IMPORT TResult Write (TDataOutputStream &aOutput) const
void Sync ()

Protected Member Functions

CT_IMPORT TProjection (const TProjectionParam &aParam)
virtual TResult CalculateProjection (TPointFixedSmall &aPoint) const =0
virtual TResult CalculateInverse (TPointFixedSmall &aPoint) const =0

Protected Attributes

int32 iFalseEasting
int32 iFalseNorthing
TFixedSmall iLambda0
TFixedSmall iPhi0
double iFixedToRadians
TProjectionParam iParam

Detailed Description

The abstract base class for projection classes using fixed-point arithmetic.


Constructor & Destructor Documentation

CT_EXPORT TProjection::TProjection ( const TProjectionParam aParam) [protected]

Construct a TProjection object and set iErrorStatus if the basic projection parameters will cause overflow.


Member Function Documentation

CT_EXPORT TResult TProjection::Inverse ( const TPoint aInput,
TPoint aOutput 
) const [virtual]

Apply the inverse of the projection to the point in aInput in pixels and place the resulting point, in latitude and longitude expressed as 65536ths of a degree, in aOutput.

Implements CartoType::TCoordinateTransform.

CT_EXPORT TResult TProjection::Project ( const TPoint aInput,
TPoint aOutput 
) const [virtual]

Apply the projection to the point in aInput in latitude and longitude, expressed as degrees or 64ths of degrees in 16.16 fixed-point format, according to how the projection was set up (see TCoordinateTransformParam), and place the resulting point, in pixels, in aOutput.

Implements CartoType::TCoordinateTransform.

CT_EXPORT TResult TProjection::ProjectTo64ths ( const TPoint aInput,
TPoint aOutput 
) const [virtual]

Apply the projection to the point in aInput in latitude and longitude, expressed as degrees or 64ths of degrees in 16.16 fixed-point format, according to how the projection was set up (see TCoordinateTransformParam), and place the resulting point, in 64ths of pixels, in aOutput.

Implements CartoType::TCoordinateTransform.

void CartoType::TProjection::Sync ( ) [inline, virtual]

Update any internal parameters after a change to a coordinate transform.

Reimplemented from CartoType::TCoordinateTransform.

CT_EXPORT TResult TProjection::Write ( TDataOutputStream aOutput) const [virtual]

A virtual function to write a projection object as serialized data. Derived classes call this base function then write any data of their own. What is written is not the constructed object but the parameter block needed to create it; in this case TCoordinateTransformParam.

Reimplemented from CartoType::TCoordinateTransform.

Reimplemented in CartoType::TTransverseMercator.


Member Data Documentation

False easting in pixels.

False northing in pixels.

Factor for conversion from input to radians.

Central meridian in radians.

The parameters used to construct the object; saved to make it easier to serialise.

Latitude of origin in radians


The documentation for this class was generated from the following files: