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

srm::BaseSRF_2D Class Reference

The BaseSRF_2D abstract class is the base class for the 2D SRFs. More...

#include <BaseSRF.h>

Inheritance diagram for srm::BaseSRF_2D:

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

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 Coord2DcreateCoordinate2D (SRM_Long_Float coord_comp1, SRM_Long_Float coord_comp2)=0
 Creates a 2D coordinate object.

virtual void getCoordinate2DValues (const Coord2D &coord, SRM_Long_Float &coord_comp1, SRM_Long_Float &coord_comp2) const
 Retrieves the 2D coordinate component values.

virtual void freeCoordinate2D (Coord2D *coord)
 Frees a 2D coordinate object.

virtual void changeCoordinate2DSRF (const Coord2D &src_coord, Coord2D &des_coord)
 Changes a coordinate's values to this SRF.

virtual void changeCoordinate2DArraySRF (Coord2D **src_coord_array, SRM_Integer_Positive *index, Coord2D **des_coord_array)
 Changes an array of coordinate values to this SRF.

virtual void changeCoordinate2DSRFObject (const Coord2D &src_coord, const SRM_ORM_Transformation_2D_Parameters hst, Coord2D &des_coord)
 Changes a coordinate's values to this SRF using tranformation object.

virtual void changeCoordinate2DArraySRFObject (Coord2D **src_coord_array, const SRM_ORM_Transformation_2D_Parameters hst, SRM_Integer_Positive *index, Coord2D **des_coord_array)
 Changes an array of coordinate values to this SRF using tranformation object.


Static Public Member Functions

SRM_Long_Float calculateEuclideanDistance (const Coord2D &coord1, const Coord2D &coord2)
 Returns the euclidean distance (in metres) between two 2D coordinates.


Protected Member Functions

 BaseSRF_2D (void *impl)
 No stack allocation.

BaseSRF_2Doperator= (const BaseSRF &)
 No copy constructor.

virtual ~BaseSRF_2D ()
 Use release().


Detailed Description

The BaseSRF_2D abstract class is the base class for the 2D SRFs.

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, BaseSRF_3D

Definition at line 416 of file BaseSRF.h.


Member Function Documentation

SRM_Long_Float srm::BaseSRF_2D::calculateEuclideanDistance const Coord2D coord1,
const Coord2D coord2
[static]
 

Returns the euclidean distance (in metres) between two 2D coordinates.

Note:
The input coordinates can be created from any SRF.
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_2D::changeCoordinate2DArraySRF Coord2D **  src_coord_array,
SRM_Integer_Positive index,
Coord2D **  des_coord_array
[virtual]
 

Changes an array of coordinate values to this SRF.

Note:
The destination coordinates must have been created using this SRF.

The source and destination arrays must be of same size.

All the coordinates in an array must be associated with the same SRF.

When an exception is raised, the index parameter is set to the offending coordinate.

Parameters:
src_coord_array in: the array of source coordinates in some other SRF
index in/out: (in) the array length/ (out) the array index of the offending coordinate
des_coord_array out: the array of destination coordinates in this SRF
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_2D::changeCoordinate2DArraySRFObject Coord2D **  src_coord_array,
const SRM_ORM_Transformation_2D_Parameters  hst,
SRM_Integer_Positive index,
Coord2D **  des_coord_array
[virtual]
 

Changes an array of coordinate values to this SRF using tranformation object.

Note:
The destination coordinates must have been created using this SRF.

The source and destination arrays must be of same size.

All the coordinates in an array must be associated with the same SRF.

The value of omega for hst must be within the range ( -2_PI, 2_PI ).

The value of delta_s for hst must be stricly greater than -1.0.

When an exception is raised, the index parameter is set to the offending coordinate.

Parameters:
src_coord_array in: the array of source coordinates in some other SRF
hst in: the ORM 2D transformation
index in/out: (in) the array length/ (out) the array index of the offending coordinate
des_coord_array out: the array of destination coordinates in this SRF
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_2D::changeCoordinate2DSRF const Coord2D src_coord,
Coord2D des_coord
[virtual]
 

Changes a coordinate's values to this SRF.

Note:
The destination coordinate must have been created using this SRF.
Parameters:
src_coord in: the source coordinate in some other SRF
des_coord out: the destination coordinate in this SRF
Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_2D::changeCoordinate2DSRFObject const Coord2D src_coord,
const SRM_ORM_Transformation_2D_Parameters  hst,
Coord2D des_coord
[virtual]
 

Changes a coordinate's values to this SRF using tranformation object.

Note:
The destination coordinate must have been created using this SRF.

The value of omega for hst must be within the range ( -2_PI, 2_PI ).

The value of delta_s for hst must be stricly greater than -1.0.

Parameters:
src_coord in: the source coordinate in some other SRF
hst in: the ORM 2D transformation
des_coord out: the destination coordinate in this SRF
Exceptions:
This method throws srm::Exception

virtual Coord2D* srm::BaseSRF_2D::createCoordinate2D SRM_Long_Float  coord_comp1,
SRM_Long_Float  coord_comp2
[pure virtual]
 

Creates a 2D coordinate object.

See also:
freeCoordinate2D()
Returns:
a 2D coordinate object

Implemented in srm::SRF_LocalSpaceAzimuthal, srm::SRF_LocalSpaceRectangular2D, and srm::SRF_LocalSpacePolar.

virtual void srm::BaseSRF_2D::freeCoordinate2D Coord2D coord  )  [virtual]
 

Frees a 2D coordinate object.

Exceptions:
This method throws srm::Exception

virtual void srm::BaseSRF_2D::getCoordinate2DValues const Coord2D coord,
SRM_Long_Float coord_comp1,
SRM_Long_Float coord_comp2
const [virtual]
 

Retrieves the 2D coordinate component values.

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