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