Definition at line 48 of file Walker.h. References Impala::CmdOptions::GetBool(), Impala::Core::Database::RawDataSet::GetFirstFileId(), Impala::Core::ImageSet::ImageSet::GetImage(), Impala::CmdOptions::GetInstance(), Impala::CmdOptions::GetInt(), Impala::Core::Database::RawDataSet::GetNrFiles(), ILOG_ERROR, mImageSet, mListeners, and Impala::Core::Database::RawDataSet::NrDirs(). Referenced by Impala::Application::mainImSet(), and Impala::Application::mainShotSegmentation(). 00049 { 00050 if (startDir >= mImageSet->NrDirs()) 00051 { 00052 ILOG_ERROR("DoWalk: startDir out of range"); 00053 return; 00054 } 00055 CmdOptions& options = CmdOptions::GetInstance(); 00056 bool useIm = ! options.GetBool("virtualWalk"); 00057 if (numberDirs == -1) 00058 numberDirs = mImageSet->NrDirs() - startDir; 00059 if (startDir + numberDirs >= mImageSet->NrDirs()) 00060 numberDirs = mImageSet->NrDirs() - startDir; 00061 00062 for (size_t l=0 ; l<mListeners.size() ; l++) 00063 { 00064 mListeners[l]->HandleNewWalk(mImageSet); 00065 mListeners[l]->HandleNewWalk(mImageSet, String("Image")); 00066 } 00067 for (int dirId=startDir ; dirId<startDir+numberDirs ; dirId++) 00068 { 00069 for (size_t l=0 ; l<mListeners.size() ; l++) 00070 mListeners[l]->HandleNewDir(mImageSet, dirId); 00071 00072 int startFile = options.GetInt("startFile"); 00073 int numberFiles = options.GetInt("numberFiles"); 00074 int startF = mImageSet->GetFirstFileId(dirId); 00075 int numberF = mImageSet->GetNrFiles(dirId); 00076 if (startFile < numberF) 00077 startF += startFile; 00078 if (numberFiles == -1) 00079 numberFiles = numberF; 00080 if (startFile + numberFiles <= numberF) 00081 numberF = numberFiles; 00082 for (int fileId=startF ; fileId<startF+numberF ; fileId++) 00083 { 00084 Array::Array2dVec3UInt8* im = 0; 00085 if (useIm) 00086 im = mImageSet->GetImage(fileId); 00087 for (size_t l=0 ; l<mListeners.size() ; l++) 00088 mListeners[l]->HandleNewFile(mImageSet, fileId, im); 00089 if (im) 00090 delete im; 00091 } 00092 for (size_t l=0 ; l<mListeners.size() ; l++) 00093 mListeners[l]->HandleDoneDir(mImageSet, dirId); 00094 } 00095 for (size_t l=0 ; l<mListeners.size() ; l++) 00096 mListeners[l]->HandleDoneWalk(mImageSet); 00097 }
Here is the call graph for this function:
|