00001
00002
00003
00004
00005
00013 #ifndef _SIGNVIEWER_H
00014 #define _SIGNVIEWER_H
00015
00016 #include <vector>
00017 #include <string>
00018
00019 #include <vtkKWCompositeWidget.h>
00020
00021 #include <SignDLL.h>
00022
00023 class vtkKWRenderWidget;
00024 class MrmlNode;
00025 class SignContext;
00026
00027 typedef std::vector<MrmlNode*> MrmlVector;
00028
00029 class SIGN_EXPORT SignViewer : public vtkKWCompositeWidget
00030 {
00031 public:
00032 vtkTypeRevisionMacro(SignViewer,vtkKWCompositeWidget);
00033 virtual void PrintSelf(ostream& os, vtkIndent indent);
00034
00037 virtual void SetupRenderWindow(std::string view);
00038
00039 void AddMrmlNode(MrmlNode*);
00040
00042 std::string GetName();
00043
00045 virtual void Cycle(){};
00046
00048 SignContext* GetContext();
00049
00050 vtkKWRenderWidget* GetRenderWidget()
00051 { return this->renderWidget; }
00052
00053 void SetNumberOfTimePoints(int n);
00054
00055 protected:
00056 SignViewer();
00057 ~SignViewer();
00058 virtual void CreateWidget();
00059
00060 protected:
00061
00062 MrmlVector MrmlNodes;
00063
00064 int timepoint;
00065
00066 int NumbersInCycle;
00067 int curr_visible;
00068
00069 vtkKWRenderWidget *renderWidget;
00070
00071 std::string viewname;
00072
00073 SignViewer(const SignViewer&);
00074 void operator=(const SignViewer&);
00075
00076
00077 };
00078
00079 #endif