Definition at line 1924 of file RotorBrowser.h. References Impala::Core::Trec::ThreadSet::AddThreadShots(), ClearReturnQuery(), Impala::Core::Trec::ThreadSet::CopyToShotsThread(), Impala::Visualization::RotorBrowser::RotorBrowserContext::GetCenter(), GetContext(), Impala::Core::Trec::ThreadSet::GetKeyframes(), GetThreadByName(), ILOG_DEBUG, ILOG_WARN, mActiveContext, Impala::MakeString(), mBrowseMode, mHasReturnQuery, MODE_CROSSBROWSER, MODE_FORKBROWSER, MODE_ROTORBROWSER, mReturnPosition, mThreadSet, mVisualQueryEngine, Impala::Core::Trec::VisualQueryEngine::QueryVisual(), ReloadCrossBrowser(), Impala::Core::Trec::ThreadSet::RemoveThread(), SwitchToContext(), and UpdateViewsToContext(). Referenced by VisualQueryKey(). 01925 { 01926 if (mBrowseMode == MODE_FORKBROWSER) 01927 { 01928 ILOG_WARN("DoVisualQuery redundant in ForkBrowser, not executing."); 01929 return; 01930 } 01931 01932 int active = mActiveContext->GetCenter(); 01933 01934 String tname = "vis_" + type + "_" + MakeString(active); 01935 if (mBrowseMode==MODE_ROTORBROWSER && GetThreadByName("shots_"+tname)) 01936 { 01937 ILOG_WARN("DoVisualQuery: thread " << tname << " already exists." ); 01938 return; 01939 } 01940 01941 active = mThreadSet->GetKeyframes()->GetShotRKF(active); 01942 std::list<KeyframeResult> visual = 01943 mVisualQueryEngine->QueryVisual(type, active); 01944 if (visual.empty()) 01945 { 01946 ILOG_WARN("DoVisualQuery: " << type << " no results"); 01947 return; 01948 } 01949 01950 if (mBrowseMode == MODE_CROSSBROWSER) 01951 { 01952 ClearReturnQuery(); 01953 if (!mHasReturnQuery) 01954 { 01955 Thread* t = GetThreadByName("shots_initialquery"); 01956 mThreadSet->CopyToShotsThread(t,"returnquery"); 01957 mHasReturnQuery = true; 01958 mReturnPosition = GetContext("shots_initialquery")->GetCenter(); 01959 ILOG_DEBUG("Stored return query with position " << 01960 mReturnPosition); 01961 } 01962 mThreadSet->RemoveThread("shots_initialquery"); 01963 mThreadSet->AddThreadShots("initialquery", visual); 01964 ReloadCrossBrowser(); 01965 UpdateViewsToContext(); 01966 return; 01967 } 01968 01969 // mode == ROTORBROWSER 01970 mThreadSet->AddThreadShots(tname, visual); 01971 UpdateViewsToContext(); 01972 SwitchToContext("shots_" + tname); 01973 UpdateViewsToContext(); 01974 }
Here is the call graph for this function:
|