zxhproj v 2.2
zxhproj

zxhTransformMatrix.h

00001 /*=========================================================================
00002 
00003   Program:   ZXH Registration Software
00004   Author:    Xiahai Zhuang
00005   Module:    $RCSfle: zxhTransformMatrix.h    $
00006   Language:  C++
00007   Date:      $Date: From  2008-11 $
00008   Version:   $Revision: 2.0 $
00009 =========================================================================*/
00010 
00011 #ifndef zxhTransformMatrix_h
00012 #define zxhTransformMatrix_h
00013 
00021 
00022 #include "zxhTransformAffine.h"
00023 #include "zxhImageData.h"
00024 #include <string>
00025 
00026 class zxhTransformMatrix : public zxhTransformAffine
00027 {
00028 public:
00030     zxhTransformMatrix();
00032     virtual ~zxhTransformMatrix();
00033 
00035     virtual bool    SetTransformFromFile(const char* pFile);
00037     virtual bool    SetTransformFromStream(std::ifstream& ifs);
00038     
00040     virtual std::string GetPrintString();
00042     virtual std::string GetMatrixString();
00043 
00045     virtual std::string GetTransformType(){return "MTX";}
00046 
00048     virtual zxhTransformBase*   Clone(zxhTransformBase*&pRet);
00049 
00051     virtual bool    GetMultiply(zxhTransformBase*p1,zxhTransformBase*p2);
00053     virtual bool    Multiply(zxhTransformBase*p) ;
00055     virtual bool    MultiplyBy(zxhTransformBase*p) ;
00057     virtual bool    ComposeNext(zxhTransformBase*p) {return this->MultiplyBy(p);};
00059     virtual bool    Compose(zxhTransformBase*pFirst, zxhTransformBase*pSecond)  {return this->GetMultiply(pSecond,pFirst);};
00060 
00062     virtual void    UpdateMatrix()                                  { this->UpdateInvertMatrix(); };
00063 
00065     static void ComputeInverseTransformMatrix( zxhTransformMatrix* pMatrixResult, zxhTransformAffine*pTransSource);
00066 };
00067 namespace zxh{
00068 void ComputeInverseTransformMatrix( zxhTransformMatrix* pMatrixResult, zxhTransformAffine*pTransSource);
00069 }
00070 #endif
 All Classes Namespaces Functions Variables Typedefs