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

Array::Array2dScalarUInt8* Impala::Core::ImageSet::ImageSet::GetImageData ( int  fileId  )  [inline]

Definition at line 172 of file ImageSet.h.

References GetArchive(), Impala::Core::Database::RawDataSet::GetDirIdOfFile(), Impala::Core::Database::RawDataSet::GetFirstFileId(), Impala::Core::Array::ImageArchive::GetImageData(), GetImageLocator(), mUseArchive, and mUseSplitArchive.

Referenced by GetImage().

00173     {
00174         typedef Array::Array2dScalarUInt8 Array2dScalarUInt8;
00175         if (mUseArchive)
00176         {
00177             int dirId;
00178             int imIdx;
00179             if (mUseSplitArchive)
00180             {
00181                 dirId = GetDirIdOfFile(fileId);
00182                 imIdx = fileId - GetFirstFileId(dirId);
00183             }
00184             else
00185             {
00186                 dirId = 0;
00187                 imIdx = fileId;
00188             }
00189             Array::ImageArchive* ar = GetArchive(dirId);
00190             if (!ar)
00191                 return 0;
00192 
00193             size_t dataSize = 0;
00194             UInt8* dataPtr = ar->GetImageData(imIdx, dataSize);
00195             Array2dScalarUInt8* im =
00196                 Array::MakeFromData<Array2dScalarUInt8>(dataPtr, dataSize, 1);
00197             delete dataPtr;
00198             return im;
00199         }
00200         else
00201         {
00202             Persistency::ImageLocator loc = GetImageLocator(fileId);
00203             return Persistency::ImageRepository().GetImageData(loc);
00204         }
00205     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:20:00 2011 for ImpalaSrc by  doxygen 1.5.1