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:
|