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

template<class DstArrayT, class SrcArrayT>
void Impala::Core::Array::Rotate ( DstArrayT *&  dst,
SrcArrayT *  src,
double  alpha,
Geometry::GeoIntType  gi,
bool  adjustSize,
typename DstArrayT::ArithType  background 
) [inline]

Definition at line 20 of file Rotate.h.

References Impala::Core::Matrix::MatMakeRotate2dDeg(), Impala::Core::Matrix::MatMakeTranslate2d(), Impala::Core::Matrix::MatMul(), and Impala::Core::Array::Pattern::PatGeometricOp().

Referenced by Impala::Application::Video::DemoVideo(), Impala::Application::Im::DoRotateVec3UInt8(), Impala::Core::KeyPoint::Sift::Extract(), and Impala::Application::Src::WindowSrc::HandleNewFrame().

00022 {
00023     int cx = src->CW() / 2;
00024     int cy = src->CH() / 2;
00025     Matrix::Mat* mTrans1 = Matrix::MatMakeTranslate2d(cx, cy);
00026     Matrix::Mat* mRot = Matrix::MatMakeRotate2dDeg(-alpha); // Y-axis points down
00027     Matrix::Mat* mTrans2 = Matrix::MatMakeTranslate2d(-cx, -cy);
00028 
00029     Matrix::Mat* mRes1 = Matrix::MatMul(mTrans1, mRot);
00030     Matrix::Mat* mRes2 = Matrix::MatMul(mRes1, mTrans2);
00031     Pattern::PatGeometricOp(dst, src, mRes2, true, gi, adjustSize, background);
00032 
00033     delete mTrans1;
00034     delete mRot;
00035     delete mTrans2;
00036     delete mRes1;
00037     delete mRes2;
00038 }

Here is the call graph for this function:


Generated on Fri Mar 19 10:58:36 2010 for ImpalaSrc by  doxygen 1.5.1