00001 #ifndef __IMAGEWRITER_H__ 00002 #define __IMAGEWRITER_H__ 00003 00004 #include <string> 00005 #include <map> 00006 #include "../visionModule.H" 00007 #include <Capability.H> 00008 #include <ImageSource.H> 00009 #include <pthread.h> 00010 #include <WURDEConfiguration.H> 00011 00012 namespace WURDEVision { 00013 00018 class ImageWriter : public VisionOperator { 00019 public: 00020 ImageWriter(std::string pName); 00021 ~ImageWriter(); 00022 00023 void initOperator(); 00024 void runOperator(WURDE::WURDEImage image, WURDE::WURDEImage stereo){} 00025 void runOperator(WURDE::WURDEImage someImage); 00026 void quitOperator(); 00027 00028 void fileWriterThread1(); 00029 void fileWriterThread2(); 00030 void fileWriterThread3(); 00031 protected: 00032 pthread_t thread1, thread2, thread3; 00033 WURDE::RunState t1state,t2state,t3state; 00034 bool m_newt1image,m_newt2image,m_newt3image; 00035 WURDE::Time t1time,t2time,t3time; 00036 00037 IplImage *m_t1image,*m_t2image,*m_t3image; 00038 int next; 00039 std::string m_imageDir; 00040 std::string m_imagePrefix; 00041 }; 00042 00043 extern "C" { 00044 void *runImageWriterThread1(void *ptr); 00045 void *runImageWriterThread2(void *ptr); 00046 void *runImageWriterThread3(void *ptr); 00047 } 00048 00049 }; 00050 00051 #endif