00001
00027 #ifndef INC_MIE_FMTLINKMULT_H
00028 #define INC_MIE_FMTLINKMULT_H
00029
00030 #ifndef INC_MIE_FMTLINK_H
00031 #include <mie/fmtlink.h>
00032 #endif
00033
00034 namespace MIE {
00035
00037 class FORMAT_LINKMULTI : public FORMAT_LINKABLE {
00038 public:
00039 ~FORMAT_LINKMULTI () { }
00040
00041 protected:
00043 FORMAT_LINKMULTI (
00044 FORMATTYPE FormatType,
00045 MODE Modes,
00046 const char* FormatName,
00047 const char* source
00048 );
00049
00050 private:
00051 #ifndef GENERATING_DOXYGEN_OUTPUT
00052 ERRVALUE CalcDistances (
00053 const RVC::OBJITEMLIST& objitems,
00054 SIMPLE_ARRAY<INT32>& xdist,
00055 SIMPLE_ARRAY<INT32>& ydist
00056 ) const;
00057
00058 ERRVALUE CalcGridInfo (
00059 const RVC::OBJITEMLIST& objitems,
00060 std::vector<std::pair<INT32, INT32> >& grid,
00061 INT32& xGridSize,
00062 INT32& yGridSize,
00063 INT32& xGridTileSize,
00064 INT32& yGridTileSize
00065 ) const;
00066
00067 ERRVALUE CalcGridTileSize (
00068 const RVC::OBJITEMLIST& objitems,
00069 INT32& xsize,
00070 INT32& ysize
00071 ) const;
00072
00073 INT32 CalcLargestDivisible (
00074 INT32 max,
00075 const SIMPLE_ARRAY<INT32>& dists
00076 ) const;
00077
00080 ERRVALUE v_ImportMulti (
00081 const MISTRINGLIST& sources,
00082 const SIMPLE_ARRAY<int>& NumObjectsInFile,
00083 const RVC::OBJITEMLIST& objitems,
00084 const SETTINGS& settings,
00085 MISTRING& ErrorLog
00086 ) const;
00087
00088 #endif // GENERATING DOXYGEN OUTPUT
00089
00091 virtual ERRVALUE v_AnalyzeSources (
00092 const MISTRINGLIST& sources,
00093 SETTINGS* settings
00094 ) const;
00095
00098 virtual RVC::RASTER::LINKPARMS *v_AllocRastLinkParms (
00099 const FILEPATH& source,
00100 const SETTINGS* settings,
00101 INT32 ImageIndex = 0,
00102 INT32 Component = 0
00103 ) const = 0;
00104 };
00105 }
00106
00107 #endif