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

void Impala::Application::TagsLife::BarPlot::ShowHistogram (  )  [inline, protected]

Definition at line 155 of file BarPlot.h.

References Impala::Application::MediaTable::BarPlot::AXIS_X, Impala::Application::MediaTable::BarPlot::AXIS_Y, Impala::Application::MediaTable::TableDataView::GetSortedIntData(), Impala::Application::MediaTable::TableDataView::GetSortedNormalizedData(), OglGui::OglWindow::H(), Impala::Application::MediaTable::BarPlot::mBarBgColor, Impala::Application::MediaTable::BarPlot::mBarBorderColor, Impala::Application::MediaTable::BarPlot::mBarFillColor, Impala::Application::MediaTable::BarPlot::mColumnFill, Impala::Application::MediaTable::BarPlot::mColumnX, Impala::Application::MediaTable::BarPlot::mColumnY, Impala::Application::MediaTable::BarPlot::mFirstVisible, Impala::Application::MediaTable::BarPlot::mLastVisible, Impala::Application::MediaTable::BarPlot::mMax, Impala::Application::MediaTable::BarPlot::mMinViewSize, mSource, Impala::Application::MediaTable::BarPlot::mStep, Impala::Application::MediaTable::BarPlot::NrVisible(), Impala::Application::MediaTable::BarPlot::ShowXLabel(), Impala::Application::MediaTable::BarPlot::ShowYLabel(), and OglGui::OglWindow::W().

00156     {
00157         if(!NrVisible()) return;
00158         float slotSz = (W() - AXIS_X) / (float) NrVisible();
00159         float binSz  = (slotSz >= 2) ? slotSz / 2 : 1;
00160         float viewH  = (slotSz >= mMinViewSize) ? slotSz : 0;
00161         bool  oneCol = mBarBgColor == mBarFillColor &&
00162                        mBarBgColor == mBarBorderColor;
00163 
00164         int yHeight = H()-AXIS_Y-viewH-7;
00165 
00166         for (int i=mFirstVisible; i<=mLastVisible; i++)
00167         {
00168             int x    = AXIS_X + (i-mFirstVisible) * slotSz;
00169             int y        = mSource->GetSortedIntData(mColumnY, i);
00170             int barH = (y/(float) mMax) * yHeight;
00171 
00172             if (barH >= 1)
00173             {
00174                 SetSolidFillColor(mBarBgColor);
00175                 FillRectangle(x+slotSz/4,AXIS_Y+viewH,binSz,barH);
00176             }
00177             if (!oneCol) {
00178                 double fill = mSource->GetSortedNormalizedData(mColumnFill, i);
00179                 if (fill * barH >= 1)
00180                 {
00181                     SetSolidFillColor(mBarFillColor);
00182                     FillRectangle(x+slotSz/4,AXIS_Y+viewH,binSz,fill*barH);
00183                 }
00184                 if (!oneCol && barH >= 1)
00185                 {
00186                     SetSolidLineColor(mBarBorderColor);
00187                     DrawRectangle(x+slotSz/4,AXIS_Y+viewH,binSz,barH);
00188                 }
00189             }
00190             int xValue = mSource->GetSortedIntData(mColumnX, i);
00191             ShowXLabel(xValue, x, slotSz);
00192         }
00193 
00194         SetSolidLineColor(mBarBorderColor);
00195         // Draw Y AXIS
00196         DrawRectangle(AXIS_X, AXIS_Y+viewH, 0, yHeight);
00197         for(long i=0; i <= mMax; i+= mStep) {
00198                 //ILOG_INFO("i=" << i << "; mMaxFreq=" << mMaxFreq);
00199                 int y = (i/(float) mMax) * yHeight+AXIS_Y+viewH;
00200             DrawRectangle(AXIS_X, y, -3, 0);
00201             ShowYLabel(i, y);
00202         }
00203     }

Here is the call graph for this function:


Generated on Thu Jan 13 09:16:20 2011 for ImpalaSrc by  doxygen 1.5.1