SignState.h

Go to the documentation of this file.
00001 #ifndef _SIGNSTATE_H
00002 #define _SIGNSTATE_H
00003 
00018 #include <map>
00019 #include <vector>
00020 #include <string>
00021 #include <SignDLL.h>
00022 
00023 class SignFiducialCollection;
00024 class vtkCamera;
00025 class vtkKWFrame;
00026 class SignStateManager;
00027 class SignMRMLManager;
00028 
00030 struct StrFiducial
00031 {
00032         double x,y,z;
00033         int index;
00034         std::string name;
00035         std::string owner;
00036 };
00037 
00039 struct StrCamera
00040 {
00041         std::string rendererName;
00042         double cameraPosition[3];
00043         double cameraFocalPoint[3];
00044         double cameraViewUp[3];
00045         double cameraViewAngle;
00046         double cameraClippingRange[2];
00047 };
00048 
00049 
00052 typedef std::vector<StrFiducial> FiducialList;
00053 
00055 typedef std::vector<StrCamera> CameraList;
00056 
00057 class SIGN_EXPORT SignState
00058 {
00059 public:
00062         SignState(SignStateManager* stateManager,SignMRMLManager* mrml);
00063         ~SignState();
00064 
00067         std::string GetName();
00068 
00071         void SetName(std::string newName);
00072 
00073         void Update();
00074 
00075         SignStateManager* GetManager();
00076 
00077         FiducialList GetAllFiducials();
00078 
00079         vtkKWFrame* frame;
00080 
00081         CameraList cameraSettings;
00082         std::map<std::string,int> viewerPositions;
00083 
00084 private:
00085         SignState(); // prevent this constructor from being called
00086 
00087         FiducialList fiducials;
00088 
00089         std::string name;
00090         SignStateManager* manager;
00091         SignMRMLManager* mrml;
00092 };
00093 
00094 #endif

Generated on Mon Feb 26 12:11:16 2007 for TheSIGN by  doxygen 1.4.6