Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLFiberBundleDisplayNode.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 COPYRIGHT.txt
00006   or http://www.slicer.org/copyright/copyright.txt for details.
00007 
00008   Program:   3D Slicer
00009   Module:    $RCSfile: vtkMRMLFiberBundleDisplayNode.h,v $
00010   Date:      $Date: 2006/03/19 17:12:28 $
00011   Version:   $Revision: 1.6 $
00012 
00013   =========================================================================auto=*/
00020 //
00021 
00022 #ifndef __vtkMRMLFiberBundleDisplayNode_h
00023 #define __vtkMRMLFiberBundleDisplayNode_h
00024 
00025 // MRML includes
00026 #include <vtkMRMLModelDisplayNode.h>
00027 
00028 // Tractography includes
00029 #include "vtkSlicerTractographyDisplayModuleMRMLExport.h"
00030 
00031 class vtkMRMLDiffusionTensorDisplayPropertiesNode;
00032 
00033 class VTK_SLICER_TRACTOGRAPHYDISPLAY_MODULE_MRML_EXPORT vtkMRMLFiberBundleDisplayNode : public vtkMRMLModelDisplayNode
00034 {
00035  public:
00036   vtkTypeMacro(vtkMRMLFiberBundleDisplayNode, vtkMRMLModelDisplayNode);
00037   void PrintSelf(ostream& os, vtkIndent indent);
00038 
00039   //--------------------------------------------------------------------------
00041   //--------------------------------------------------------------------------
00042 
00045   virtual void ReadXMLAttributes ( const char** atts );
00046 
00049   virtual void WriteXML ( ostream& of, int indent );
00050 
00051 
00054   virtual void Copy ( vtkMRMLNode *node );
00055 
00058   virtual const char* GetNodeTagName() = 0;
00059 
00063   virtual void UpdateReferences();
00064 
00067   virtual void UpdateScene(vtkMRMLScene *scene);
00068 
00071   virtual void UpdateReferenceID(const char *oldID, const char *newID);
00072 
00073   //--------------------------------------------------------------------------
00075   //--------------------------------------------------------------------------
00076 
00077 
00078   //--------------------------------------------------------------------------
00082   //--------------------------------------------------------------------------
00083 
00084   enum
00085   {
00086     colorModeSolid = 0,
00087     colorModeScalar = 1,
00088     colorModeFunctionOfScalar = 2,
00089     colorModeUseCellScalars = 3,
00090     colorModeScalarData = 4,
00091     colorModePointFiberOrientation = 5,
00092     colorModeMeanFiberOrientation = 6,
00093   };
00094 
00095   //--------------------------------------------------------------------------
00097   //--------------------------------------------------------------------------
00098 
00101   vtkGetMacro ( ColorMode, int );
00102   vtkSetMacro ( ColorMode, int );
00103 
00106   void SetColorModeToSolid ( ) {
00107     this->SetColorMode ( this->colorModeSolid );
00108   };
00109 
00112   void SetColorModeToScalar ( ) {
00113     this->SetColorMode ( this->colorModeScalar );
00114   };
00115 
00119   void SetColorModeToFunctionOfScalar ( ) {
00120     this->SetColorMode ( this->colorModeFunctionOfScalar );
00121   };
00122 
00130   void SetColorModeToUseCellScalars ( ) {
00131     this->SetColorMode ( this->colorModeUseCellScalars );
00132   };
00133 
00137   void SetColorModeToScalarData ( ) {
00138     this->SetColorMode ( this->colorModeScalarData );
00139   };
00140 
00144   void SetColorModeToMeanFiberOrientation ( ) {
00145     this->SetColorMode ( this->colorModeMeanFiberOrientation );
00146   };
00147 
00151   void SetColorModeToPointFiberOrientation ( ) {
00152     this->SetColorMode ( this->colorModePointFiberOrientation );
00153   };
00154 
00155   //--------------------------------------------------------------------------
00157   //--------------------------------------------------------------------------
00158 
00159 
00160   //--------------------------------------------------------------------------
00162   //--------------------------------------------------------------------------
00163 
00164 
00166 
00169   vtkMRMLDiffusionTensorDisplayPropertiesNode* GetDiffusionTensorDisplayPropertiesNode ( );
00170 
00173   void SetAndObserveDiffusionTensorDisplayPropertiesNodeID ( const char *ID );
00174 
00177   vtkGetStringMacro(DiffusionTensorDisplayPropertiesNodeID);
00178 
00179 
00180   static int GetNumberOfScalarInvariants();
00181   static int GetNthScalarInvariant(int i);
00182 
00183  protected:
00184   vtkMRMLFiberBundleDisplayNode ( );
00185   ~vtkMRMLFiberBundleDisplayNode ( );
00186   vtkMRMLFiberBundleDisplayNode ( const vtkMRMLFiberBundleDisplayNode& );
00187   void operator= ( const vtkMRMLFiberBundleDisplayNode& );
00188 
00190   vtkMRMLDiffusionTensorDisplayPropertiesNode *DiffusionTensorDisplayPropertiesNode;
00191   char *DiffusionTensorDisplayPropertiesNodeID;
00192 
00193   virtual void SetDiffusionTensorDisplayPropertiesNodeID(const char* id);
00194 
00196   static std::vector<int> GetSupportedColorModes();
00197 
00199   int ColorMode;
00200 
00202   //double ScalarRange[2];
00203   //
00204 };
00205 
00206 #endif
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines