vtkMRMLVolumeRendering1ParametersNode.h

Go to the documentation of this file.
00001 /*=auto=========================================================================
00002 
00003   Portions (c) Copyright 2005 Brigham and Women's Hospital (BWH) All Rights Reserved.
00004 
00005   See Doc/copyright/copyright.txt
00006   or http://www.slicer.org/copyright/copyright.txt for details.
00007 
00008   Program:   3D Slicer
00009   Module:    $RCSfile: vtkMRMLVolumeRendering1ParametersNode.h,v $
00010   Date:      $Date: 2006/03/19 17:12:29 $
00011   Version:   $Revision: 1.3 $
00012 
00013 =========================================================================auto=*/
00014 // .NAME vtkMRMLVolumeRendering1ParametersNode - MRML node for storing a slice through RAS space
00015 // .SECTION Description
00016 // This node stores the information about the currently selected volume
00017 // 
00018 //
00019 
00020 #ifndef __vtkMRMLVolumeRendering1ParametersNode_h
00021 #define __vtkMRMLVolumeRendering1ParametersNode_h
00022 
00023 #include "vtkMRML.h"
00024 #include "vtkMRMLScene.h"
00025 #include "vtkMRMLNode.h"
00026 #include "vtkMRMLROINode.h"
00027 #include "vtkMRMLScalarVolumeNode.h"
00028 #include "vtkMRMLVolumePropertyNode.h"
00029 
00030 #include "vtkVolumeRendering.h"
00031 
00032 #include "vtkMatrix4x4.h"
00033 
00034 class VTK_SLICERVOLUMERENDERING1_EXPORT vtkMRMLVolumeRendering1ParametersNode : public vtkMRMLNode
00035 {
00036   public:
00037   static vtkMRMLVolumeRendering1ParametersNode *New();
00038   vtkTypeMacro(vtkMRMLVolumeRendering1ParametersNode,vtkMRMLNode);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040 
00041   virtual vtkMRMLNode* CreateNodeInstance();
00042 
00043   // Description:
00044   // Set node attributes
00045   virtual void ReadXMLAttributes( const char** atts);
00046 
00047   // Description:
00048   // Write this node's information to a MRML file in XML format.
00049   virtual void WriteXML(ostream& of, int indent);
00050 
00051   // Description:
00052   // Copy the node's attributes to this object
00053   virtual void Copy(vtkMRMLNode *node);
00054 
00055   // Description:
00056   // Get node XML tag name (like Volume, Model)
00057   virtual const char* GetNodeTagName() {return "VolumeRendering1Parameters";};
00058 
00059   // Description:
00060   // Update the stored reference to another node in the scene
00061   virtual void UpdateReferenceID(const char *oldID, const char *newID);
00062 
00063   // Description:
00064   // Updates this node if it depends on other nodes 
00065   // when the node is deleted in the scene
00066   virtual void UpdateReferences();
00067 
00068   // Description:
00069   // Observe the reference transform node
00070   virtual void UpdateScene(vtkMRMLScene *scene);
00071 
00072   virtual void ProcessMRMLEvents ( vtkObject *caller, 
00073                                    unsigned long event, 
00074                                    void *callData);
00075 
00076   // Description:
00077   // the ID of a MRMLVolumeNode
00078   vtkGetStringMacro (VolumeNodeID);
00079   void SetAndObserveVolumeNodeID(const char *volumeNodeID);
00080 
00081   // Description:
00082   // Associated transform MRML node
00083   vtkMRMLScalarVolumeNode* GetVolumeNode();
00084 
00085   // Description:
00086   // the ID of a parameter MRMLVolumePropertyNode
00087   vtkGetStringMacro (VolumePropertyNodeID);
00088   void SetAndObserveVolumePropertyNodeID(const char *volumePropertyNodeID);
00089   
00090   // Description:
00091   // Associated transform MRML node
00092   vtkMRMLVolumePropertyNode* GetVolumePropertyNode();
00093 
00094   // Description:
00095   // the ID of a parameter MRMLROINode
00096   vtkGetStringMacro (ROINodeID);
00097   void SetAndObserveROINodeID(const char *rOINodeID);
00098 
00099   // Description:
00100   // Associated transform MRML node
00101   vtkMRMLROINode* GetROINode();
00102 
00103   // Description:
00104   // Is cropping enabled?
00105   vtkSetMacro(CroppingEnabled,int);
00106   vtkGetMacro(CroppingEnabled,int);
00107   vtkBooleanMacro(CroppingEnabled,int);
00108 
00109   // Description:
00110   // Estimated Sample Distance
00111   vtkSetMacro(EstimatedSampleDistance,double);
00112   vtkGetMacro(EstimatedSampleDistance,double);
00113 
00114   // Description:
00115   // Expected FPS
00116   vtkSetMacro(ExpectedFPS,int);
00117   vtkGetMacro(ExpectedFPS,int);
00118 
00119   vtkGetStringMacro (CurrentVolumeMapper);
00120   vtkSetStringMacro (CurrentVolumeMapper);
00121 
00122   
00123 protected:
00124   vtkMRMLVolumeRendering1ParametersNode();
00125   ~vtkMRMLVolumeRendering1ParametersNode();
00126   vtkMRMLVolumeRendering1ParametersNode(const vtkMRMLVolumeRendering1ParametersNode&);
00127   void operator=(const vtkMRMLVolumeRendering1ParametersNode&);
00128 
00129   char *VolumeNodeID;
00130   vtkSetReferenceStringMacro(VolumeNodeID);
00131   vtkMRMLScalarVolumeNode* VolumeNode;
00132 
00133   char *VolumePropertyNodeID;
00134   vtkSetReferenceStringMacro(VolumePropertyNodeID);
00135   vtkMRMLVolumePropertyNode* VolumePropertyNode;
00136 
00137   char *ROINodeID;
00138   vtkSetReferenceStringMacro(ROINodeID);
00139   vtkMRMLROINode* ROINode;
00140 
00141   int CroppingEnabled;
00142 
00143   double  EstimatedSampleDistance;
00144   int     ExpectedFPS;
00145 
00146   char *CurrentVolumeMapper;
00147 };
00148 
00149 #endif
00150 

Generated on 6 Apr 2011 for Slicer3 by  doxygen 1.6.1