00001 // Copyright (c) 2013 by Wayne C. Gramlich. All rights reserved. 00002 00003 #if !defined(CAMERA_TAG_H_INCLUDED) 00004 #define CAMERA_TAG_H_INCLUDED 1 00005 00006 #include "CV.hpp" 00007 00008 class Tag; 00009 00012 class CameraTag { 00013 public: 00015 double diagonal; 00016 00018 unsigned int direction; 00019 00021 Tag *tag; 00022 00025 double twist; 00026 00028 double x; 00029 00031 double y; 00032 00033 static std::vector<CameraTag*> free_pool; 00034 public: 00035 static bool less(CameraTag * tag1, CameraTag * tag2); 00036 00037 CameraTag(); 00038 00039 void initialize(Tag * tag, unsigned int direction, 00040 CV_Point2D32F_Vector corners, CV_Image debug_image); 00041 00042 void* operator new(size_t sz); 00043 void operator delete(void*); 00044 }; 00045 00046 #endif // !defined(CAMERA_TAG_H_INCLUDED)