Home || Architecture || Video Search || Visual Search || Scripts || Applications || Important Messages || OGL || Src

TableIxs.h

Go to the documentation of this file.
00001 #ifndef Impala_Core_Table_TableIxs_h
00002 #define Impala_Core_Table_TableIxs_h
00003 
00004 #include "Basis/NativeTypes.h"
00005 #include "Core/Table/TableTem.h"
00006 #include "Core/Geometry/FileReadIxRectangle.h"
00007 #include "Core/Geometry/FileWriteIxRectangle.h"
00008 
00009 namespace Impala
00010 {
00011 namespace Core
00012 {
00013 namespace Table
00014 {
00015 
00016 
00017 typedef TableTem<Column::ColumnTem<String>,
00018                  Column::ColumnTem<Geometry::Rectangle>,
00019                  Column::ColumnTem<String>,
00020                  Column::ColumnTem<String>,
00021                  Column::ColumnTem<String>,
00022                  Column::ColumnTem<String>,
00023                  Column::ColumnTem<Int32> > TableIxsBaseType;
00024 
00027 class TableIxs : public TableIxsBaseType
00028 {
00029 public:
00030 
00031     TableIxs() : TableIxsBaseType(0)
00032     {
00033         SetColName(1, "anno");
00034         SetColName(2, "rect");
00035         SetColName(3, "image");
00036         SetColName(4, "section");
00037         SetColName(5, "dir");
00038         SetColName(6, "extra");
00039         SetColName(7, "fileId");
00040     }
00041 
00042     void
00043     ReadIxsFile(String fileName)
00044     {
00045         std::vector<Geometry::IxRectangle> irList;
00046         Geometry::FileReadIxRectangle(std::back_inserter(irList), fileName);
00047         for (int i=0 ; i<irList.size() ; i++)
00048         {
00049             Geometry::IxRectangle ir = irList[i];
00050             Add(ir.mAnno, ir.mRect, ir.mImageName, ir.mSection, ir.mDir,
00051                 ir.mExtra, -1);
00052         }
00053     }
00054 
00055     void
00056     WriteIxsFile(String fileName)
00057     {
00058         std::vector<Geometry::IxRectangle> irList;
00059         for (int i=0 ; i<Size() ; i++)
00060         {
00061             Geometry::IxRectangle ir;
00062             ir.mAnno = Get1(i);
00063             ir.mRect = Get2(i);
00064             ir.mImageName = Get3(i);
00065             ir.mSection = Get4(i);
00066             ir.mDir = Get5(i);
00067             ir.mExtra = Get6(i);
00068             irList.push_back(ir);
00069         }
00070         Geometry::FileWriteIxRectangle(fileName, irList.begin(), irList.end());
00071     }
00072 
00073 };
00074 
00075 } // namespace Table
00076 } // namespace Core
00077 } // namespace Impala
00078 
00079 #endif

Generated on Fri Mar 19 09:31:20 2010 for ImpalaSrc by  doxygen 1.5.1