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, ILOG_NDC_POP, ILOG_NDC_PUSH, mImageSet, mListeners, and Impala::Core::Database::RawDataSet::NrDirs(). Referenced by Impala::Application::mainImSet(). 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 ILOG_NDC_PUSH("image " << fileId); 00085 Array::Array2dVec3UInt8* im = 0; 00086 if (useIm) 00087 im = mImageSet->GetImage(fileId); 00088 for (size_t l=0 ; l<mListeners.size() ; l++) 00089 mListeners[l]->HandleNewFile(mImageSet, fileId, im); 00090 if (im) 00091 delete im; 00092 ILOG_NDC_POP; 00093 } 00094 for (size_t l=0 ; l<mListeners.size() ; l++) 00095 mListeners[l]->HandleDoneDir(mImageSet, dirId); 00096 } 00097 for (size_t l=0 ; l<mListeners.size() ; l++) 00098 mListeners[l]->HandleDoneWalk(mImageSet); 00099 }
Here is the call graph for this function:
|