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

virtual void Impala::Visualization::SegmentationDocumentGuiAnno::HandleNewShot (  )  [inline, virtual]

Reimplemented from Impala::Core::Database::DataDocumentListener.

Definition at line 146 of file SegmentationDocumentGuiAnno.h.

References Impala::Visualization::ImagesWindow::AddImage(), Impala::Core::VideoSet::SegmentationDocument::CurShot(), Impala::Core::VideoSet::Mpeg7Doc::EndFrame(), FillShotSample(), FindFrameShot(), Impala::Core::VideoSet::Mpeg7Doc::FindShot(), Impala::Core::VideoSet::Keyframes::GetFrameNr(), Impala::Core::VideoSet::Keyframes::GetShotRKF(), Impala::Visualization::VideoPlayer::GotoFrame(), mAllowSlidingChBox, mAnnoSearching, mCurKey, mCurMpeg7, mCurShotFrames, mFrameSliding, mFrameText, mImShotWnd, mImWnd, mKeyframes, mKeyframeSet, Impala::Visualization::VideoPlayer::MoveToFrame(), mSegDoc, mShots, mSimTLV, Impala::Visualization::SimilarityTimeLineVideo::Player(), Impala::Visualization::ImagesWindow::RemoveImages(), OglGui::TextArea::SetText(), Impala::Core::VideoSet::Mpeg7Doc::StartFrame(), and UpdateRelevance().

Referenced by CheckNewVideo(), HandleNewConcept(), HandleNewFile(), and UpDownNumberChangedEvent().

00147     {
00148         if (mAnnoSearching)
00149             return;
00150         mImWnd->RemoveImages();
00151         mImShotWnd->RemoveImages();
00152         mCurShotFrames.clear();
00153 
00154         mFrameText->SetText("");
00155         if (!(mKeyframes && mKeyframeSet))
00156             return;
00157         int shot = mSegDoc->CurShot();
00158         if (shot == -1)
00159             return;
00160 
00161         // Line below conflicts with annotations
00162         // as annotations only work based on RKF keyframes
00163         // if ((mCurKey = mSegDoc->CurKeyfr())==-1)
00164             mCurKey = mKeyframes->GetShotRKF(shot);
00165         mImWnd->AddImage(mCurKey, mKeyframeSet);
00166 
00167         int frame = mKeyframes->GetFrameNr(mCurKey);
00168         int firstFrame = -1, lastFrame = -1;
00169                 int     idx = -1;
00170             if (mCurMpeg7)
00171             {
00172             idx = mCurMpeg7->FindShot(frame);
00173             if (idx != -1)
00174             {
00175                 firstFrame = mCurMpeg7->StartFrame(idx);
00176                 lastFrame  = mCurMpeg7->EndFrame(idx);
00177             }
00178             }
00179         if (firstFrame == lastFrame)
00180         {
00181             if ((shot = FindFrameShot(frame))==-1)
00182                 return;
00183             firstFrame = mShots[shot]+1;
00184             lastFrame  = mShots[shot+((shot<mShots.size()-1) ? 1 : 0)];
00185         }
00186         FillShotSample(firstFrame, lastFrame, frame);
00187         UpdateRelevance();
00188         if (mSimTLV)
00189         {
00190             if (mAllowSlidingChBox)
00191                 mFrameSliding = mAllowSlidingChBox->GetSelected();
00192             if (mFrameSliding)
00193                 mSimTLV->Player()->MoveToFrame(frame);
00194             else
00195                 mSimTLV->Player()->GotoFrame(frame);
00196         }
00197     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:46:17 2010 for ImpalaSrc by  doxygen 1.5.1