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:
|