00001
00022 #ifndef __ARTOOLKIT_CAMERAADVIMPL_HEADERFILE__
00023 #define __ARTOOLKIT_CAMERAADVIMPL_HEADERFILE__
00024
00025 #include <string>
00026 #include <ARToolKitPlus/config.h>
00027
00028
00029 namespace ARToolKitPlus {
00030
00031 #define CAMERA_ADV_HEADER "ARToolKitPlus_CamCal_Rev02"
00032 #define CAMERA_ADV_MAX_UNDIST_ITERATIONS 20
00033
00038 class AR_EXPORT Camera {
00039 public:
00040 int xsize, ysize;
00041 ARFloat mat[3][4];
00042 ARFloat dist_factor[4];
00043
00044 void observ2Ideal(ARFloat ox, ARFloat oy, ARFloat *ix, ARFloat *iy);
00045 void ideal2Observ(ARFloat ix, ARFloat iy, ARFloat *ox, ARFloat *oy);
00046 bool loadFromFile(const char* filename);
00047 Camera* clone();
00048 bool changeFrameSize(const int frameWidth, const int frameHeight);
00049 void printSettings();
00050 std::string getFileName() const;
00051 protected:
00052 std::string fileName;
00053
00054
00055 ARFloat cc[2];
00056 ARFloat fc[2];
00057 ARFloat kc[6];
00058 int undist_iterations;
00059 };
00060
00061 }
00062
00063 #endif // __ARTOOLKIT_CAMERAADVIMPL_HEADERFILE__