00001 #ifndef _TERASONMODULE_H
00002 #define _TERASONMODULE_H
00003
00004 #include <OpenTracker/dllinclude.h>
00005 #include <OpenTracker/OpenTracker.h>
00006
00007 #include <vector>
00008
00009 #ifdef USE_TERASON
00010 int __declspec(dllimport) initInterface();
00011 void __declspec(dllimport) stopInterface();
00012 int __declspec(dllimport) transmitFrame(unsigned char* pixeldata, double* xsize, double* ysize);
00013 #endif
00014
00015
00016 #include "TerasonSource.h"
00017 #include "TerasonSink.h"
00018
00019
00020
00021 namespace ot {
00022
00023 class OPENTRACKER_API TerasonModule : public ThreadModule, public NodeFactory
00024 {
00025
00026
00027 protected:
00028
00029
00032 int stop;
00033
00034
00035
00036 private:
00037
00038
00039 protected:
00042 void run();
00043
00044
00045 public:
00046 NodeVector sources;
00047 NodeVector sinks;
00048
00049
00051 TerasonModule();
00052
00054 virtual ~TerasonModule();
00055
00063 virtual Node * createNode( const std::string& name, StringTable& attributes);
00064
00065
00069 virtual void start();
00070
00073 virtual void close();
00074
00079 virtual void pushEvent();
00080
00081
00082
00089 virtual void init(StringTable& attributes, ConfigNode * localTree);
00090
00091 };
00092 OT_MODULE(TerasonModule);
00093 }
00094
00095
00096 #endif