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
1.4.6