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

virtual void Impala::Visualization::SimilarityTimeLine::DisplayFunc (  )  [inline, virtual]

Reimplemented from OglGui::WindowTimeLine.

Definition at line 239 of file SimilarityTimeLine.h.

References cMaxVisPerConcept, OglGui::WindowTimeLine::DisplayFunc(), DrawAverages(), DrawHelpLines(), Impala::Visualization::TimeLineViewStrip::FirstVisibleFrame(), Impala::Core::Table::TableTem< Col1T, Col2T, Col3T, Col4T, Col5T, Col6T, Col7T, Col8T, Col9T >::Get1(), Impala::Core::Table::SimilarityTableSet::GetSimTable(), OglGui::OglWindow::H(), Impala::Visualization::TimeLineViewStrip::LastVisibleFrame(), mAverages, OglGui::ZoomShiftRuler::mAxisY, Impala::Visualization::TimeLineViewStrip::mFrameError, mShowClassify, mSimColors, mSimSet, mVisibleConcepts, NeedleOverConcepts(), Impala::Core::Table::SimilarityTableSet::NrTables(), Impala::Core::Table::SimilarityTableSet::TableSize(), and OglGui::ZoomShiftRuler::Unit2Pixel().

00240     {
00241         OGC myOGC;
00242             OGCSave( &myOGC );
00243 
00244         TimeLineViewStrip::DisplayFunc();
00245 
00246         if (!mSimSet)
00247             return;
00248 
00249         int startFrame = FirstVisibleFrame();
00250         int endFrame   = LastVisibleFrame();
00251 
00252         if (endFrame > mSimSet->TableSize()-mFrameError-1)
00253             endFrame = mSimSet->TableSize()-mFrameError-1;
00254 
00255         int     range   = endFrame - startFrame;
00256         int     lineMax = H() - 4 - ((mAverages&&mShowClassify)?65:0);
00257         int     hRange  = lineMax - mAxisY;
00258         int     inc     = 1;
00259 
00260         if (range >= cMaxVisPerConcept)
00261             inc = (int) ((range / (double)cMaxVisPerConcept)+0.5);
00262 
00263         // Experiment to minimize flutter when sampling
00264         while(startFrame%inc)
00265             startFrame--;
00266 
00267         float bigW = 5;
00268         for (int j=0; j<mSimSet->NrTables(); j++)
00269         {
00270             DrawAverages(j,startFrame,endFrame,inc,true,true,200,0,bigW);
00271             DrawAverages(j,startFrame,endFrame,inc,true,false,255,0,1);
00272 
00273             if (!mVisibleConcepts[j])
00274                 continue;
00275 
00276             DrawAverages(j,startFrame,endFrame,inc,false,false,255,hRange,1);
00277             DrawAverages(j,startFrame,endFrame,inc,true,false,128,hRange,bigW);
00278 
00279             ULONG col = mSimColors[j%mSimColors.size()];
00280             UCHAR r,g,b;
00281             COLOR2RGB(col,r,g,b);
00282             glColor3ub(r,g,b);
00283             SimTableType* simTable = mSimSet->GetSimTable(j);
00284             glPointSize(range < 300 ? (range<100?5:3) : 2);
00285             glBegin(GL_POINTS);
00286             for (float i=startFrame; i<=endFrame; i+=inc)
00287             {
00288                 double sim = simTable->Get1(i+mFrameError);
00289                 float  x   = (float) Unit2Pixel(i*40);
00290                 float  y   = (float) (mAxisY + 2 + sim * hRange);
00291                 glVertex2f(x,y);
00292             }
00293             glEnd();
00294 
00295         }
00296         glPointSize(1);
00297         glLineWidth(1);
00298 
00299         DrawHelpLines(lineMax,hRange);
00300 
00301         NeedleOverConcepts();
00302 
00303         OGCRestore(&myOGC);
00304     }

Here is the call graph for this function:


Generated on Fri Mar 19 11:48:29 2010 for ImpalaSrc by  doxygen 1.5.1