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

void Impala::Application::MediaTable::TableDataView::SortAndFilterFloat (  )  [inline, protected]

Definition at line 723 of file TableDataView.h.

References Impala::Application::MediaTable::compare_double(), GetDoubleDataByID(), GetNormalizedDataByID(), Impala::Application::MediaTable::TableDataSource::GetTotalRows(), ILOG_DEBUG, IsFiltered(), mFilteredRows, mSortAscending, mSortColumn, mSortSequence, mSortType, mTableDataSource, mVisibleRows, Impala::Application::MediaTable::TableDataSource::TYPE_DOUBLE, and Impala::Application::MediaTable::TableDataSource::TYPE_NORMALIZEDVALUE.

Referenced by SortAndFilter().

00724     {
00725         std::list < std::pair <double, int> > sortthis;
00726         for (int i=0; i<mTableDataSource->GetTotalRows(); i++)
00727         {
00728             if (!IsFiltered(i))
00729             {
00730                     double dVal;
00731                 if (mSortType == TableDataSource::TYPE_NORMALIZEDVALUE)
00732                     dVal = GetNormalizedDataByID(mSortColumn,i);
00733                 else
00734                     dVal = GetDoubleDataByID(mSortColumn, i);
00735                 sortthis.push_back( std::make_pair(dVal, i) );
00736                 mVisibleRows[i] = true;
00737             }
00738             else
00739                 mVisibleRows[i] = false;
00740         }
00741         mFilteredRows = sortthis.size();
00742         sortthis.sort(compare_double);
00743         ILOG_DEBUG("filtered # of rows: " << mFilteredRows);
00744 
00745         bool normType = (mSortType == TableDataSource::TYPE_NORMALIZEDVALUE);
00746         bool dblType  = (mSortType == TableDataSource::TYPE_DOUBLE);
00747         if ((normType && mSortAscending) || (dblType && !mSortAscending))
00748             sortthis.reverse();
00749         mSortSequence.clear();
00750 
00751         std::list<std::pair <double, int> >::iterator it;
00752         for (it=sortthis.begin(); it!=sortthis.end(); ++it)
00753             mSortSequence.push_back(it->second);
00754     }

Here is the call graph for this function:


Generated on Fri Mar 19 10:46:15 2010 for ImpalaSrc by  doxygen 1.5.1