00001 #ifndef _VTKMRMLDYNAMICVOLUMENODE_H 00002 #define _VTKMRMLDYNAMICVOLUMENODE_H 00003 00004 #include <vtkMRMLScalarVolumeNode.h> 00005 00006 #include <map> 00007 00008 class vtkImageData; 00009 class vtkImageFlip; 00010 00011 typedef std::map<int,vtkImageData*> ImageMap; 00012 typedef std::map<int,vtkImageFlip*> FlipMap; 00013 00014 class vtkMRMLDynamicVolumeNode : public vtkMRMLScalarVolumeNode 00015 { 00016 public: 00017 static vtkMRMLDynamicVolumeNode *New(); 00018 vtkTypeMacro(vtkMRMLDynamicVolumeNode,vtkMRMLScalarVolumeNode); 00019 virtual vtkMRMLNode* CreateNodeInstance(); 00020 00021 virtual const char* GetNodeTagName() {return "DynamicVolume";}; 00022 00023 virtual void ReadXMLAttributes(const char** atts); 00024 virtual void WriteXML(std::ostream& of, int indent); 00025 void Copy(vtkMRMLNode *anode); 00026 00027 int GetTimepoints(); 00028 void SetTimepoints(int tp); 00029 00030 vtkImageData* GetImageData(int tp); 00031 vtkImageData* GetImageData(); 00032 void SetAndObserveImageData(vtkImageData *ImageData, int tp); 00033 00034 protected: 00035 vtkMRMLDynamicVolumeNode(); 00036 ~vtkMRMLDynamicVolumeNode(); 00037 00038 private: 00039 int timepoints; 00040 ImageMap DynamicImageData; 00041 FlipMap flips; 00042 }; 00043 00044 #endif
1.4.6