|
Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
|
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
1.7.4