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

static FeatureTableSet* Impala::Core::Feature::FeatureTableSet::MakeFromFile ( String  walkType,
bool  keyframesIsObsolete,
String  featureDefs,
Database::RawDataSet dataSet,
int  fileId,
bool  partial,
int  numberFrames 
) [inline, static]

Definition at line 73 of file FeatureTableSet.h.

References Add(), Impala::Util::Append(), Delete(), FeatureTableSet(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFilePathFeatureData(), ILOG_INFO, Impala::Core::Feature::FeatureTable::MakeFromFile(), and Size().

00076     {
00077         FeatureTableSet* res = new FeatureTableSet();
00078         StringList defList(featureDefs, ';');
00079         for (StringListCI i=defList.begin() ; i!=defList.end() ; i++)
00080         {
00081             FeatureDefinition def(*i);
00082             FeatureTable* table = 0;
00083             int startFr = 0;
00084             bool done = false;
00085             while (!done)
00086             {
00087                 bool silent = partial && (startFr != 0);
00088                 String fName = dataSet->GetFilePathFeatureData
00089                     (walkType, def, fileId, partial, startFr, false, silent);
00090                 if (!fName.empty())
00091                 {
00092                     ILOG_INFO("reading " << fName);
00093                     Util::Database* db = dataSet->GetDatabase();
00094                     if (table == 0)
00095                     {
00096                         table = FeatureTable::MakeFromFile(def, fName, db);
00097                     }
00098                     else
00099                     {
00100                         FeatureTable* t = FeatureTable::MakeFromFile(def, fName,
00101                                                                      db);
00102                         Table::Append(table, t);
00103                         delete t;
00104                     }
00105                 }
00106                 else
00107                 {
00108                     done = true;
00109                 }
00110                 if (!partial)
00111                     done = true;
00112                 startFr += numberFrames;
00113             }
00114             if (table != 0)
00115                 res->Add(table);
00116         }
00117         if (res->Size() == 0)
00118         {
00119             res->Delete();
00120             delete res;
00121             return 0;
00122         }
00123         return res;
00124     }

Here is the call graph for this function:


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