#ifndef __CALIBRATEWIDGET_HH#define __CALIBRATEWIDGET_HH#include <boost/array.hpp>#include <boost/numeric/ublas/vector.hpp>#include <boost/smart_ptr.hpp>#include <QtOpenGL/QGLWidget>#include "image.h"#include "image_input.h"/// Widget for displaying calibration pattern.class CalibrateWidget: public QGLWidget{Q_OBJECTpublic:///typedef boost::numeric::ublas::vector< double > Vector;///CalibrateWidget( QWidget *parent = 0, Qt::WFlags f = 0 );///CalibrateWidget( const mimas::image< unsigned char > &_projectedPattern,QWidget *parent = 0, Qt::WFlags f = 0 );/** ith position of projected pattern.<ul><li><b>i=1</b> left-top corner</li><li><b>i=2</b> right-top corner</li><li><b>i=3</b> left-bottom corner</li><li><b>i=4</b> right-bottom corner</li><li><b>i=5</b> center of screen</li></ul>@param i index of position@return coordinates to display patten at. */Vector getPos( int i );public slots:/** Display pattern at specified position@see pattern@see getPos */void setPattern(int);protected:///void initializeGL(void);///void resizeGL( int w, int h );///void paintGL(void);/// Image storing projection patternmimas::image< unsigned char > projectedPattern;/** Index of current pattern-position.@see setPattern */int pattern;};#endif