00001 00023 #ifndef INC_MIE_GEOSPATIAL_H 00024 #define INC_MIE_GEOSPATIAL_H 00025 00026 #ifndef INC_MIE_JOBBASE_H 00027 #include <mie/jobbase.h> 00028 #endif 00029 00030 #ifndef INC_RVC_GEOREFER_H 00031 #include <rvc/georefer.h> 00032 #endif 00033 00034 namespace MIE { 00035 00036 // ************************************************************************ 00037 00038 // The base class for an individual import/export job 00039 class JOB_GEOSPATIAL : public JOB_IMPORT { 00040 public: 00041 JOB_GEOSPATIAL ( 00042 const FORMAT& format, 00043 const SETTINGS& settings 00044 ); 00045 00046 virtual ~JOB_GEOSPATIAL (); 00047 00048 const SPATREF::COORDREFSYS& GetCoordRefSys ( 00049 ) const { return (m_crs); } 00050 00056 const RVC::GEOREFERENCE& GetGeorefObject ( 00057 ) const { return (m_GeorefObj); } 00058 00062 const DRECT3D& GetObjectExtents ( 00063 ) const { return m_ObjectExtents; } 00064 00072 ERRVALUE ImportArcProjection ( 00073 FastDelegate<ERRVALUE(char* str, int bufsize)> ReadLine 00074 ); 00075 00076 void SetCoordRefSys ( 00077 const SPATREF::COORDREFSYS& crs 00078 ); 00079 00085 void SetGeorefObject ( 00086 const RVC::GEOREFERENCE& GeorefObj 00087 ); 00088 00089 void SetObjectExtents ( 00090 const DRECT3D& rect 00091 ) { m_ObjectExtents = rect; } 00092 00093 protected: 00094 DRECT3D m_ObjectExtents; // To be filled in while importing 00095 00096 virtual ERRVALUE v_ImportBegin ( 00097 const RVC::OBJITEM& DestObj 00098 ); 00099 00100 virtual ERRVALUE v_ImportEnd ( 00101 RVC::OBJITEM& DestObj 00102 ); 00103 00104 private: 00105 #ifndef GENERATING_DOXYGEN_OUTPUT 00106 RVC::GEOREFERENCE m_GeorefObj; 00107 RVC::DESCRIPTOR m_GeorefDescriptor; 00108 SPATREF::COORDREFSYS m_crs; 00109 00110 virtual void v_GeoreferenceChanged (); 00111 bool v_IsGeospatial () const; 00112 #endif 00113 }; 00114 00115 } // end of MIE NAMESPACE 00116 00117 #endif // INC_MIE_GEOSPATIAL_H
1.6.1