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

void Impala::Application::DemoCamera2d::WindowCamera2d::HandleNewFrame (  )  [inline, virtual]

Implements Impala::Visualization::AppControlSrc.

Definition at line 456 of file mainDemoCamera2d.cpp.

References Impala::Core::Array::ArrayListDelete(), Impala::Core::Array::ArraySystem::CheckMemoryUsageSinceMark(), Impala::Core::Array::ColorSpace(), Impala::Application::DemoCamera2d::curInvList, Impala::Core::Stream::RgbDataSrc::DataPtr(), DisplayIm(), Impala::Application::DemoCamera2d::eList, Impala::Application::DemoCamera2d::funcRes, Impala::Visualization::AppControlSrc::GetSrc(), Impala::Core::Array::ArraySystem::Instance(), Impala::Core::Array::InvCompDer(), Impala::Application::DemoCamera2d::lList, Impala::Core::Array::ArraySystem::MarkMemoryUsage(), mCurView, mViewScale, Impala::Core::Array::Element::OOO, Impala::Application::DemoCamera2d::precision, Impala::Core::Array::Element::RGB, Impala::Core::Array::RGB2Intensity(), Impala::Application::DemoCamera2d::rgbList, Impala::Application::DemoCamera2d::sigma, Impala::Application::DemoCamera2d::srcV, and Impala::Application::DemoCamera2d::verbose.

00457     {
00458         UpdateView(0, GetSrc()->DataPtr(), GetSrc()->FrameWidth(),
00459                    GetSrc()->FrameHeight(), mViewScale);
00460 
00461         ArraySystem& aSys = ArraySystem::Instance();
00462         aSys.MarkMemoryUsage(verbose > 0);
00463 
00464         MakeFromData2<Array2dVec3Real64,Array2dVec3UInt8>(srcV, GetSrc()->DataPtr());
00465 
00466         bool oneReqL = false;
00467         bool oneReqE = false;
00468         bool oneReqRGB = false;
00469         int i;
00470         for (i=0 ; i<curInvList.size() ; i++)
00471         {
00472             if (curInvList[i].mReqL)
00473                 oneReqL = true;
00474             if (curInvList[i].mReqE)
00475                 oneReqE = true;
00476             if (curInvList[i].mReqRGB)
00477                 oneReqRGB = true;
00478         }
00479         if (oneReqL)
00480         {
00481             Array2dScalarReal64* l = 0;
00482             RGB2Intensity(l, srcV);
00483             lList = InvCompDer(l, sigma, precision, false);
00484             delete l;
00485         }
00486         if (oneReqE)
00487         {
00488             Array2dVec3Real64* ooo = 0;
00489             ColorSpace(ooo, srcV, Element::RGB, Element::OOO);
00490             eList = InvCompDer(ooo, sigma, precision, false);
00491             delete ooo;
00492         }
00493         if (oneReqRGB)
00494             rgbList = InvCompDer(srcV, sigma, precision, false);
00495         mCurView = 1;
00496         for (i=0 ; i<curInvList.size() ; i++)
00497         {
00498             InvInfo cI = curInvList[i];
00499             if (cI.mFunc)
00500                 cI.mFunc();
00501             if (verbose == 1)
00502                 std::cout << "Displaying " << i << " = " << cI.mName << std::endl;
00503             if (cI.mFunc)
00504             {
00505                 DisplayIm(funcRes, cI.mDisplayMode, cI.mName);
00506                 delete funcRes;
00507             }
00508             else
00509             {
00510                 if (cI.mReqL)
00511                     DisplayIm(lList[cI.mImIdx], cI.mDisplayMode, cI.mName);
00512                 if (cI.mReqE)
00513                     DisplayIm(eList[cI.mImIdx], cI.mDisplayMode, cI.mName);
00514                 if (cI.mReqRGB)
00515                     DisplayIm(rgbList[cI.mImIdx], cI.mDisplayMode, cI.mName);
00516             }
00517         }
00518         ArrayListDelete(&lList);
00519         ArrayListDelete(&eList);
00520         ArrayListDelete(&rgbList);
00521 
00522         aSys.CheckMemoryUsageSinceMark(verbose > 0);
00523     }

Here is the call graph for this function:


Generated on Fri Mar 19 10:39:14 2010 for ImpalaSrc by  doxygen 1.5.1