#include <BaseSRF.h>
Inheritance diagram for srm::BaseSRF:

Public Types | |
| enum | SRF_ClassType { SRF_TYP_TWO_D, SRF_TYP_THREE_D, SRF_TYP_WITH_TANGENT_PLANE_SURFACE, SRF_TYP_WITH_ELLIPSOIDAL_HEIGHT, SRF_TYP_MAP_PROJECTION, SRF_TYP_LSA, SRF_TYP_CC, SRF_TYP_CD, SRF_TYP_CM, SRF_TYP_EC, SRF_TYP_EI, SRF_TYP_HAEC, SRF_TYP_HEEC, SRF_TYP_HEEQ, SRF_TYP_LCC, SRF_TYP_LCE_3D, SRF_TYP_LSR_2D, SRF_TYP_LSR_3D, SRF_TYP_LTSAS, SRF_TYP_LTSC, SRF_TYP_LTSE, SRF_TYP_M, SRF_TYP_OMS, SRF_TYP_PD, SRF_TYP_LSP, SRF_TYP_PS, SRF_TYP_SEC, SRF_TYP_SEQ, SRF_TYP_SME, SRF_TYP_SMD, SRF_TYP_TM } |
| The type of an SRF. | |
Public Member Functions | |
| virtual void | release () |
| Releases the pointer to the SRF. | |
| virtual void | getCodes (SRM_SRFT_Code &t_code, SRM_SRF_Code &srf_code, SRM_SRFS_Code_Info &srfs_code_info) const |
| Returns the codes that identify this class. | |
| virtual SRM_CS_Code | getCSCode () const |
| Returns the CS code. | |
| virtual SRM_ORM_Code | get_orm () const |
| Returns this SRF's Object Reference Model code. | |
| virtual SRM_RT_Code | get_rt () const |
| Returns this SRF's RT code. | |
| virtual SRF_ClassType | getClassType () const=0 |
| Returns the class type of this SRF instance. | |
| virtual bool | isA (SRF_ClassType type) const |
| Returns true if this SRF is of the given class type. | |
| virtual SRM_Coordinate_Valid_Region | changeCoordinateSRF (const Coord &src_coord, Coord &des_coord) |
| Changes a coordinate's values to this SRF. | |
| virtual SRM_Coordinate_Valid_Region | checkCoordinate (const Coord &src) |
| Checks a coordinate in this SRF for valid region. | |
| virtual void | freeCoordinate (Coord *coord) |
| Frees a coordinate in this SRF. | |
| virtual const char * | toString ()=0 |
| Returns a string representation of this SRF. | |
| virtual BaseSRF * | clone () |
| Returns a new reference to this SRF. | |
Static Public Member Functions | |
| BaseSRF * | createStandardSRF (SRM_SRF_Code srf_code, SRM_RT_Code rt_code) |
| Creates a Standard SRF from its SRF code. | |
| BaseSRF * | createSRFSetMember (SRM_SRFS_Info srfs_info, SRM_RT_Code rt) |
| Creates an SRF from a SRF set code, a set member code specific to that set, and an ORM code. | |
| bool | querySRFTSupport (SRM_SRFT_Code srft_code) |
| Queries for the SRFT support by the implementation. | |
| bool | queryORMSupport (SRM_ORM_Code orm_code, SRM_RT_Code rt_code) |
| Queries for the ORM/RT pair support by the implementation. | |
| SRM_Long_Float | calculateEuclideanDistance (const Coord &coord1, const Coord &coord2) |
| Returns the euclidean distance (in metres) between two coordinates. | |
Protected Member Functions | |
| BaseSRF (void *impl) | |
| No stack allocation. | |
| BaseSRF & | operator= (const BaseSRF &) |
| No copy constructor. | |
| virtual | ~BaseSRF () |
| Use release(). | |
Protected Attributes | |
| unsigned int | _ref_cnt |
| Reference counting. | |
| void * | _impl |
| Implementation data. | |
Friends | |
| class | Coord3D |
| class | BaseSRF_3D |
| class | BaseSRF_2D |
| class | BaseSRF_MapProjection |
| class | BaseSRF_WithEllipsoidalHeight |
| class | BaseSRF_WithTangentPlaneSurface |
SRFs are allocated by the API, and when no longer needed they should be released by calling the release() method.
Definition at line 182 of file BaseSRF.h.
|
||||||||||||
|
Returns the euclidean distance (in metres) between two coordinates.
|
|
||||||||||||
|
Changes a coordinate's values to this SRF.
|
|
|
Checks a coordinate in this SRF for valid region.
|
|
|
Returns a new reference to this SRF.
|
|
||||||||||||
|
Creates an SRF from a SRF set code, a set member code specific to that set, and an ORM code.
|
|
||||||||||||
|
Creates a Standard SRF from its SRF code.
|
|
|
Frees a coordinate in this SRF.
|
|
|
Returns this SRF's Object Reference Model code.
|
|
|
Returns this SRF's RT code.
|
|
|
||||||||||||||||
|
Returns the codes that identify this class. An SRF can be directly created from:
|
|
|
Returns the CS code.
|
|
||||||||||||
|
Queries for the ORM/RT pair support by the implementation.
|
|
|
Queries for the SRFT support by the implementation.
|
|
|
Releases the pointer to the SRF. SRF classes are reference counted, since coordinates maintain a reference to them. When all references to an SRF are released, the SRF's memory is deleted.
|
| Spatial Reference Model C++ API | Version 4.1 - 26 Jun 2006 |
| Copyright © 2006 SEDRIS | Docs by Doxygen 1.3.2 |