#pragma once #include #include #include #include class Calibration { double a1, b1, c1, a3, b3, a2, b2, c2; double cal[4][2]; double dots[4][2]; bool cal_set[4]; bool calib_points_ok; bool calibrated; void RazCalibration(); public: typedef enum { TopLeft, TopRight, BottomLeft, BottomRight } Corners; Calibration(double width, double height, double calibInset = 0); void SetCalibrationPoint(Corners i, double x, double y); void translateCoords(double X, double Y, double *cx, double *cy); bool Calibrate(); void SaveCalibration( std::string filename ); bool RestoreCalibration(std::string filename); };