00001
00002
00003
00004
00005
00017 #ifndef __SIGNSINK_H__
00018 #define __SIGNSINK_H__
00019
00020 #include <string>
00021 #include <vtkObject.h>
00022 #include <OpenTracker/OpenTracker.h>
00023 #include <SignDLL.h>
00024 #include <SignStationEventInfo.h>
00025
00026 class vtkRenderWindow;
00027 class Sign2DViewer;
00028 class vtkMRMLNode;
00029 class SignViewer;
00030
00031 typedef std::vector<SignViewer*> ViewerVector;
00032
00033
00034 class SIGN_EXPORT SignSink : public ot::Node, public vtkObject
00035 {
00036 protected:
00038 ViewerVector viewers;
00039
00040
00041
00042 public:
00044 SignStationEventInfo state;
00045
00047 bool connect_to_user_transform;
00048
00049
00051 ot::Event stored_event;
00052
00053 protected:
00055 SignSink() {}
00057 ~SignSink() {}
00058
00059
00060
00061 SignSink(const SignSink&);
00062 void operator=(const SignSink&);
00063
00064 public:
00065
00066 vtkTypeRevisionMacro(SignSink,vtkObject);
00068 void SetName(std::string stationName)
00069 {
00070 this->name=stationName;
00071 connect_to_user_transform=true;
00072 }
00073
00075 virtual void AddViewer(SignViewer* viewer);
00076
00078 virtual vtkTransform* GetTransform() {return NULL;}
00079
00081 virtual void setMrmlNode(vtkMRMLNode *mn) {};
00082
00084 virtual void setViewer(Sign2DViewer *viewer) {};
00085
00086 };
00087
00088
00089 #endif