Arrived at given DB_FILE in a "normal" walk.
Reimplemented from Impala::Core::ImageSet::Listener. Definition at line 72 of file Thumbnails.h. References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CH(), Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CW(), Impala::FileNameExt(), Impala::Core::Database::RawDataSet::GetContainerDirOfFile(), Impala::Core::Database::RawDataSet::GetDatabase(), Impala::Core::Database::RawDataSet::GetFile(), Impala::Core::Database::RawDataSet::GetFilePathImageData(), Impala::Core::Database::RawDataSet::GetLocator(), ILOG_ERROR, ILOG_INFO, mArchive, mBuf, mBufSize, mFirstImHeight, mFirstImWidth, mImList, mRkfMask, mScale, mSplitArchive, mThumbSet, Impala::Core::Geometry::NEAREST, Impala::Core::Array::Scale(), Impala::Core::Array::WriteJpg(), Impala::Core::Array::WriteJpgToMemory(), and Impala::Core::Array::WritePngToMemory(). 00073 { 00074 ImType* blackIm = 0; 00075 if (!im) 00076 { 00077 ILOG_ERROR("No image"); 00078 if (mFirstImWidth == -1) 00079 { 00080 ILOG_ERROR("No image size yet, so can't generate black image"); 00081 return; 00082 } 00083 blackIm = Array::MakeFromValue<ImType> 00084 (Array::Element::Vec3Int32(0, 0, 0), mFirstImWidth, 00085 mFirstImHeight); 00086 im = blackIm; 00087 } 00088 if (mFirstImWidth == -1) 00089 { 00090 mFirstImWidth = im->CW(); 00091 mFirstImHeight = im->CH(); 00092 ILOG_INFO("First image has sizes : " << mFirstImWidth << " x " 00093 << mFirstImHeight); 00094 } 00095 if (mRkfMask) 00096 { 00097 String imFile = is->GetFile(fileId); 00098 if (imFile.find("_NRKF_") != String::npos) 00099 return; 00100 } 00101 ImType* sc = 0; 00102 Array::Scale(sc, im, mScale, mScale, Geometry::NEAREST, true); 00103 if (mArchive || mSplitArchive) 00104 { 00105 size_t nrBytes = 0; 00106 if (FileNameExt(mThumbSet->GetFile(fileId)) == "jpg") 00107 Array::WriteJpgToMemory(sc, mBuf, mBufSize, &nrBytes); 00108 else 00109 Array::WritePngToMemory(sc, mBuf, mBufSize, &nrBytes); 00110 Array::Array2dScalarUInt8* bufIm = 00111 Array::MakeFromData<Array::Array2dScalarUInt8>((UInt8*) mBuf, 00112 nrBytes, 1); 00113 mImList.push_back(bufIm); 00114 } 00115 else 00116 { 00117 #ifndef REPOSITORY_USED // Here comes the deprecated stuff 00118 String resFile = mThumbSet->GetFilePathImageData(fileId, true, 00119 false); 00120 Array::WriteJpg(sc, resFile, mThumbSet->GetDatabase()); 00121 #else // REPOSITORY_USED 00122 String container = mThumbSet->GetContainerDirOfFile(fileId); 00123 Persistency::ImageLocator loc(mThumbSet->GetLocator(), container, 00124 mThumbSet->GetFile(fileId)); 00125 Persistency::ImageRepository().Add(loc, sc); 00126 #endif // REPOSITORY_USED 00127 } 00128 delete sc; 00129 if (blackIm) 00130 delete blackIm; 00131 }
Here is the call graph for this function:
|