00001
00085 #ifndef INC_MIE_FMTLINK_H
00086 #define INC_MIE_FMTLINK_H
00087
00088 #include <mie/format.h>
00089
00090 #include <rvc/raster.h>
00091 #include <rvc/cad.h>
00092 #include <rvc/shape.h>
00093 #include <rvc/dbtable.h>
00094
00095 namespace MIE {
00096
00107 class FORMAT_LINKABLE : public FORMAT {
00108 public:
00109 ~FORMAT_LINKABLE () { }
00110
00112 ERRVALUE CreateLink (
00113 const MISTRING& SrcFile,
00114 const RVC::OBJITEM& DestParentObj,
00115 RVC::OBJITEM &DestObj,
00116 const SETTINGS* settings,
00117 int Index = 0
00118 ) const;
00119
00121 ERRVALUE ImportGeoreference (
00122 const MISTRING& source,
00123 const SETTINGS& settings,
00124 const RVC::OBJITEM& destParent
00125 ) const { return v_ImportGeoreference(source, settings, destParent); }
00126
00127 protected:
00128 FORMAT_LINKABLE (
00129 FORMATTYPE FormatType,
00130 OBJTYPEFLAG ImportObjType,
00131 MODE Modes,
00132 const char* FormatName,
00133 const char* source,
00134 OBJTYPEFLAG ExportObjType = OBJTYPEFLAG_None
00135 );
00136
00143 ERRVALUE SetupLinkFile (
00144 const MISTRING& Source,
00145 RVC::OBJECT& LinkFile,
00146 RVC::OBJITEM& LinkObjItem
00147 ) const;
00148
00152 ERRVALUE SetupLinkFile (
00153 const MISTRING& Source,
00154 const SETTINGS& Settings,
00155 RVC::OBJITEM& LinkObjItem,
00156 INT32 LinkIndex = 0
00157 ) const;
00158
00161 virtual ERRVALUE v_ImportGeoreference (
00162 const MISTRING& source,
00163 const SETTINGS& settings,
00164 const RVC::OBJITEM& destParent
00165 ) const;
00166
00168 virtual ERRVALUE v_AnalyzeSource (
00169 const MISTRING& source,
00170 SETTINGS* settings
00171 ) const;
00172
00175 virtual ERRVALUE v_Import (
00176 const MISTRING& source,
00177 const SETTINGS& settings,
00178 const SIMPLE_ARRAY<JOB_IMPORT*>& jobs
00179 ) const;
00180
00181 private:
00183 virtual JOB_IMPORT* v_AllocJobImport (
00184 OBJTYPEFLAG ObjectType,
00185 const SETTINGS& settings
00186 ) const;
00187
00189 virtual FORMAT::TESTRESULT v_TestFile (
00190 const FILEPATH& filepath
00191 ) const;
00192
00195 DEPRECATED virtual ERRVALUE v_ImportGeoreference (
00196 const MISTRING& source,
00197 const SETTINGS& settings,
00198 const SIMPLE_ARRAY<JOB_IMPORT*>& jobs
00199 ) const;
00200
00207 virtual RVC::RASTER::LINKPARMS *v_AllocRastLinkParms (
00208 const FILEPATH& source,
00209 const SETTINGS* settings,
00210 INT32 ImageIndex = 0,
00211 INT32 Component = 0
00212 ) const;
00213
00215 virtual RVC::CAD::LINKPARMS *v_AllocCADLinkParms (
00216 const FILEPATH& source,
00217 const SETTINGS* settings
00218 ) const;
00219
00221 virtual RVC::SHAPE::LINKPARMS *v_AllocShapeLinkParms (
00222 const FILEPATH& source,
00223 const SETTINGS* settings,
00224 INT32 Index
00225 ) const;
00226
00230 virtual RVC::SHAPE::LINKPARMS *v_AllocShapeLinkParms (
00231 const MISTRING& source,
00232 const SETTINGS* settings,
00233 INT32 Index
00234 ) const;
00235
00237 virtual RVC::DBTABLE::LINKPARMS *v_AllocDBTableLinkParms(
00238 const FILEPATH& source,
00239 const SETTINGS* settings
00240 ) const;
00241 };
00242 }
00243
00244 #endif