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

virtual void Impala::Visualization::SegmentationDocumentGuiKeyframes::HandleNewFile (  )  [inline, virtual]

Implements Impala::Core::Database::DataDocumentListener.

Definition at line 51 of file SegmentationDocumentGuiKeyframes.h.

References Impala::Visualization::ImageSetIdxGrid::AddImageSetIdx(), Impala::Visualization::ImageSetIdxGrid::Clear(), Impala::Core::Database::DataDocument::CurFileId(), Impala::Core::VideoSet::Keyframes::GetFirstKeyframeVideo(), Impala::Core::VideoSet::SegmentationDocument::GetImSetKeyframes(), Impala::Core::VideoSet::SegmentationDocument::GetKeyframes(), Impala::Core::VideoSet::Keyframes::GetNrKeyframesVideo(), Impala::Core::VideoSet::SegmentationDocument::HasCursor(), mCurFile, mImagesSet, mImSetIdxGrid, Impala::Min(), mSegDoc, mStartKey, Impala::Visualization::ImagesWindow::RemoveImages(), Impala::Visualization::ImageSet::SetFirstVisY(), and Impala::Visualization::ImageSetIdxGrid::UpdateLayout().

00052     {
00053         Core::VideoSet::Keyframes* keys = mSegDoc->GetKeyframes();
00054         Core::ImageSet::ImageSet* imSet = mSegDoc->GetImSetKeyframes(true);
00055         if (!(mSegDoc->HasCursor() && keys && imSet))
00056         {
00057             mCurFile = -1;
00058             if (mImagesSet)
00059                 mImagesSet->RemoveImages();
00060             if (mImSetIdxGrid)
00061                 mImSetIdxGrid->Clear();
00062             return;
00063         }
00064         int fileId = mSegDoc->CurFileId();
00065         if (fileId == mCurFile)
00066             return;
00067         mCurFile = fileId;
00068         if (mImagesSet)
00069         {
00070             mImagesSet->RemoveImages();
00071             mImagesSet->SetFirstVisY(0, true);
00072         }
00073         if (mImSetIdxGrid)
00074             mImSetIdxGrid->Clear();
00075         mStartKey = keys->GetFirstKeyframeVideo(fileId);
00076         int nrKey = keys->GetNrKeyframesVideo(fileId);
00077         int end = mStartKey + (mImagesSet ? Min(nrKey, 3000) : nrKey);
00078         for (int i=mStartKey ; i<end ; i++)
00079         {
00080             if (mImagesSet)
00081                 mImagesSet->AddImage(i, imSet);
00082             if (mImSetIdxGrid)
00083                 mImSetIdxGrid->AddImageSetIdx(imSet,i);
00084         }
00085         if (mImSetIdxGrid)
00086             mImSetIdxGrid->UpdateLayout(true);
00087     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:47:10 2010 for ImpalaSrc by  doxygen 1.5.1