SignVolume.h

Go to the documentation of this file.
00001 /*
00002  *
00003  * Program:   Slicer Image-Guided Navigator (The SIGN)
00004  * Module:    $RCSfile: SignVolume.h,v $
00005  */
00016 #ifndef __SIGNVOLUME_H
00017 #define __SIGNVOLUME_H
00018 
00019 #include <map>
00020 
00021 #include <vtkObject.h>
00022 #include <SignDLL.h>
00023 
00024 
00025 class vtkPiecewiseFunction;
00026 class vtkColorTransferFunction;
00027 class vtkVolumeMapper;
00028 class vtkVolume;
00029 class vtkVolumeProperty;
00030 class vtkImageShiftScale;
00031 class vtkImageChangeInformation;
00032 class MrmlVolumeNode;
00033 class vtkMRMLScalarVolumeNode;
00034 class vtkImageData;
00035 class vtkTransform;
00036 
00037 typedef std::map<int,vtkVolume*> VolumeMap;
00038 
00039 class SIGN_EXPORT SignVolume : public vtkObject
00040 {
00041  public:
00042   vtkTypeRevisionMacro(SignVolume,vtkObject);
00043   virtual void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046   static SignVolume *New();
00047 
00049   void SetImageData(vtkMRMLScalarVolumeNode* vn);
00051   vtkVolume* GetVolume();
00053   vtkVolume* GetVolume(int t);
00055   void CycleVisible();
00056 
00058   vtkVolumeProperty* GetVolumeProperty();
00060   void SetVolumeProperty(vtkVolumeProperty* property);
00061 
00063   MrmlVolumeNode* GetMrmlVolumeNode()
00064   { return mrmlVolumeNode;
00065   }
00066   void SetUse3DTextures(bool f) {use_3D_textures=f;}
00067 
00068  protected:
00070   SignVolume();
00071   ~SignVolume();
00072 
00073  private:
00074   vtkPiecewiseFunction *opacityTransferFunction;
00075   vtkColorTransferFunction *colorTransferFunction;
00076   vtkVolumeProperty *volumeProperty;
00077 
00078   MrmlVolumeNode *mrmlVolumeNode;
00079   vtkMRMLScalarVolumeNode* mrmlScalarVolumeNode;
00080   VolumeMap volumes;
00081 
00082   int curr_visible;
00083   int NumbersInCycle;
00084   bool use_3D_textures;
00085 
00086   SignVolume(const SignVolume&);  // Not implemented.
00087   void operator=(const SignVolume&);  // Not implemented.
00088 
00089 };
00090 
00091 #endif

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