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

void Impala::Visualization::DirImViewer::ViewCreateImage ( int  dstIdx,
int  imIdx 
) [inline]

Definition at line 309 of file DirImViewer.h.

References Impala::Core::Array::Array2dTem< StorT, elemSize, ArithT >::CPB(), Impala::Core::Stream::RgbDataSrc::DataPtr(), Impala::Core::Stream::RgbDataSrc::FrameHeight(), Impala::Core::Stream::RgbDataSrc::FrameWidth(), Impala::Util::Database::GetInstance(), Impala::Core::Stream::RgbDataSrc::GotoFrame(), ILOG_WARN, mDirName, mFileNames, mRgbDataSrc, mViews, Impala::Visualization::RgbOglImage::OglImage(), and Impala::Core::Array::ReadFile().

Referenced by HandleView().

00310     {
00311             Array2dVec3UInt8* ar = 0;
00312 #ifndef NO_RAW
00313         if (mRgbDataSrc)
00314         {
00315             mRgbDataSrc->GotoFrame(imIdx);
00316             int imW = mRgbDataSrc->FrameWidth();
00317             int imH = mRgbDataSrc->FrameHeight();
00318                 ar = new Array2dVec3UInt8(imW, imH, 0, 0, 0, false);
00319                 memcpy( (void *) ar->CPB(0, 0), mRgbDataSrc->DataPtr(), imW*imH*3 );
00320         }
00321         else
00322 #endif
00323         {
00324             std::string fName = mDirName + "/" + *mFileNames[imIdx];
00325 #ifndef REPOSITORY_USED // Here comes the deprecated stuff
00326             Core::Array::ReadFile(ar, fName, &Util::Database::GetInstance());
00327 #else // REPOSITORY_USED
00328             // This is just a hack to get things to compile...
00329             Persistency::FileLocator loc(fName);
00330             typedef Persistency::RepositoryInFileSystem FS;
00331             Persistency::File f = FS::GetInstance().GetFile(loc, false, false);
00332             Core::Array::ReadFile(ar, f);
00333 #endif // REPOSITORY_USED
00334             if (ar == 0)
00335             {
00336                 ILOG_WARN("Could not read file: " << fName);
00337             }
00338         }
00339         if (ar != 0)
00340         {
00341             OGLIMAGE* oglIm = RgbOglImage::OglImage(ar);
00342             viewSys.SetImage(mViews[dstIdx],oglIm);
00343             ReleaseOglImage(oglIm);
00344         } else {
00345             ILOG_WARN("array = 0, image not loaded.");
00346             viewSys.SetImage(mViews[dstIdx], 0);
00347         }
00348         mViews[dstIdx]->UserData1 = (void *) imIdx;
00349     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:24:38 2011 for ImpalaSrc by  doxygen 1.5.1