00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024 #ifndef INC_SML_GEOSTRUCT_H
00025 #define INC_SML_GEOSTRUCT_H
00026
00027 #ifndef INC_MI32_SPATREF_H
00028 #include <mi32/spatref.h>
00029 #endif
00030
00031
00032 #ifdef RVCSYSDLL
00033 #define RVCSYSLIBEXPORT MI_DLLEXPORT
00034 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSEXPORT
00035 #else
00036 #define RVCSYSLIBEXPORT MI_DLLIMPORT
00037 #define RVCSYSLIBCLASSEXPORT MI_DLLCLASSIMPORT
00038 #endif
00039
00040
00041
00042 #ifndef GENERATING_DOXYGEN_OUTPUT
00043
00044 class TRANS2D_AFFINE;
00045
00046 namespace SML {
00053 class RVCSYSLIBCLASSEXPORT GEOSTRUCT {
00054 public:
00055
00056 GEOSTRUCT();
00057 ~GEOSTRUCT();
00058 GEOSTRUCT(const GEOSTRUCT&);
00059
00060 const SPATREF::COORDREFSYS& GetCoordRefSys (
00061 ) const;
00062
00063 void SetCoordRefSys (
00064 const SPATREF::COORDREFSYS& refsys
00065 );
00066
00067 void GetTransAffine (
00068 TRANS2D_AFFINE& affine
00069 ) const;
00070
00071 const MAT3X3& GetTransOtoM (
00072 ) const;
00073
00074 const MAT3X3& GetTransMtoO (
00075 ) const;
00076
00077 void SetTransAffine (
00078 const MAT3X3& OtoM,
00079 const MAT3X3& MtoO
00080 );
00081
00082 void SetTransAffine (
00083 const TRANS2D_AFFINE& affine
00084 );
00085
00086 private:
00087
00088 SPATREF::COORDREFSYS m_refsys;
00089 MAT3X3 m_OtoM, m_MtoO;
00090
00091 };
00092 #endif // GENERATING_DOXYGEN_OUTPUT
00093
00094 }
00095
00096 typedef SML::GEOSTRUCT SMLGEOSTRUCT;
00097
00098 #undef RVCSYSLIBEXPORT
00099 #undef RVCSYSLIBCLASSEXPORT
00100
00101 #endif // INC_SML_GEOSTRUCT_H
00102
00103