|
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 2006 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: vtkMRMLColorNode.h,v $ 00010 Date: $Date: 2006/03/19 17:12:28 $ 00011 Version: $Revision: 1.0 $ 00012 00013 =========================================================================auto=*/ 00014 00015 #ifndef __vtkMRMLColorNode_h 00016 #define __vtkMRMLColorNode_h 00017 00018 // MRML includes 00019 #include "vtkMRMLStorableNode.h" 00020 00021 // VTK includes 00022 class vtkLookupTable; 00023 class vtkScalarsToColors; 00024 00025 // Std includes 00026 #include <string> 00027 #include <vector> 00028 00047 class VTK_MRML_EXPORT vtkMRMLColorNode : public vtkMRMLStorableNode 00048 { 00049 public: 00050 static vtkMRMLColorNode *New(); 00051 vtkTypeMacro(vtkMRMLColorNode,vtkMRMLStorableNode); 00052 void PrintSelf(ostream& os, vtkIndent indent); 00053 00054 //-------------------------------------------------------------------------- 00056 //-------------------------------------------------------------------------- 00057 00058 virtual vtkMRMLNode* CreateNodeInstance(); 00059 00062 virtual void ReadXMLAttributes( const char** atts); 00063 00066 virtual void WriteXML(ostream& of, int indent); 00067 00070 virtual void Copy(vtkMRMLNode *node); 00071 00074 virtual const char* GetNodeTagName() {return "Color";}; 00075 00079 virtual void Reset(); 00080 00083 virtual void UpdateScene(vtkMRMLScene *scene); 00084 00087 virtual void SetType(int type); 00090 vtkGetMacro(Type,int); 00091 00092 void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData ); 00093 00097 virtual int GetFirstType(); 00098 virtual int GetLastType (); 00099 00102 virtual const char * GetTypeAsString(); 00103 00105 enum 00106 { 00107 TypeModifiedEvent = 20002 00108 }; 00109 00112 const char *GetColorName(int ind); 00113 00124 std::string GetColorNameAsFileName(int colorIndex, const char *subst = "_"); 00125 00130 std::string GetColorNameWithoutSpaces(int ind, const char *subst); 00131 00134 int SetColorName(int ind, const char *name); 00135 00139 int SetColorNameWithSpaces(int ind, const char *name, const char *subst); 00142 virtual int GetNumberOfColors(); 00143 00147 virtual bool GetColor(int ind, double* color); 00148 00151 vtkSetStringMacro(FileName); 00152 vtkGetStringMacro(FileName); 00153 00157 virtual vtkLookupTable * GetLookupTable(); 00158 00163 virtual vtkScalarsToColors* GetScalarsToColors(); 00164 00168 vtkGetStringMacro(NoName); 00169 vtkSetStringMacro(NoName); 00170 00173 vtkGetMacro(NamesInitialised, int); 00174 vtkSetMacro(NamesInitialised, int); 00175 vtkBooleanMacro(NamesInitialised, int); 00178 void SetNamesFromColors(); 00179 00181 virtual bool GetModifiedSinceRead(); 00182 protected: 00183 vtkMRMLColorNode(); 00184 virtual ~vtkMRMLColorNode(); 00185 vtkMRMLColorNode(const vtkMRMLColorNode&); 00186 void operator=(const vtkMRMLColorNode&); 00187 00190 virtual bool SetNameFromColor(int index); 00191 00196 virtual bool HasNameFromColor(int index); 00197 00201 int Type; 00202 00205 std::vector<std::string> Names; 00206 00209 char *FileName; 00210 00213 char *NoName; 00214 00217 int NamesInitialised; 00218 }; 00219 00220 #endif
1.7.4