#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 |