/*! \file MultiScaleImageCompareModel.h \brief A brief file description. A more elaborated file description. Created: 2017/02/24, author: bang.jin. */ #ifndef __MultiScaleImageCompareModel_h_ #define __MultiScaleImageCompareModel_h_ #include "MultiScaleObj.h" #include #include "ImageCompareModel.h" using std::vector; class MultiScaleImageCompareModel : public MultiScaleObj { public: MultiScaleImageCompareModel(int levelNum = 2, float scaleStep = 0.5) : MultiScaleObj(levelNum, scaleStep) { } ~MultiScaleImageCompareModel() { clear(); } void setBaseLevel(const ImageCompareModel* pModel); void genMultiScale(); const ImageCompareModel* getCmpModel(int level); void clear(); void proc(void *pData); protected: vector mMultiScaleModels; private: }; class ImageCompareData { public: ImageCompareData(MultiScaleImage* pMSI) : mpMSI(pMSI) , mStartAngle(0) , mEndAngle(360) , mAngleRange(90) {} MultiScaleImage* getMSI() const { return mpMSI; } void setMSI(MultiScaleImage* val) { mpMSI = val; } float getStartAngle() const { return mStartAngle; } void setStartAngle(float val) { mStartAngle = val; } float getEndAngle() const { return mEndAngle; } void setEndAngle(float val) { mEndAngle = val; } float getAngleRange() const { return mAngleRange; } void setAngleRange(float val) { mAngleRange = val; } ImageCompareModel::RotateData* getRotateData() { return &mRotateData; } protected: MultiScaleImage* mpMSI; ImageCompareModel::RotateData mRotateData; float mStartAngle, mEndAngle; float mAngleRange; }; #endif // __MultiScaleImageCompareModel_h_