|
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: vtkMRMLChartNode.h,v $ 00010 Date: $Date: 2006/03/19 17:12:29 $ 00011 Version: $Revision: 1.3 $ 00012 00013 =========================================================================auto=*/ 00014 00015 #ifndef __vtkMRMLChartNode_h 00016 #define __vtkMRMLChartNode_h 00017 00018 #include "vtkMRMLNode.h" 00019 00020 class vtkDataObject; 00021 class vtkStringArray; 00022 class DoubleArrayIDMap; 00023 class ChartPropertyMap; 00024 00025 #include <string> 00026 00028 class VTK_MRML_EXPORT vtkMRMLChartNode : public vtkMRMLNode 00029 { 00030 public: 00031 //---------------------------------------------------------------- 00033 //---------------------------------------------------------------- 00034 00035 00036 00037 //---------------------------------------------------------------- 00039 //---------------------------------------------------------------- 00040 00041 static vtkMRMLChartNode *New(); 00042 vtkTypeMacro(vtkMRMLChartNode,vtkMRMLNode); 00043 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00046 virtual vtkMRMLNode* CreateNodeInstance(); 00047 00050 virtual void ReadXMLAttributes( const char** atts); 00051 00054 virtual void WriteXML(ostream& of, int indent); 00055 00058 virtual void Copy(vtkMRMLNode *node); 00059 00062 virtual const char* GetNodeTagName() 00063 {return "Chart";}; 00064 00067 virtual void ProcessMRMLEvents ( vtkObject *caller, unsigned long event, void *callData ); 00068 00069 //---------------------------------------------------------------- 00071 //---------------------------------------------------------------- 00072 00077 void AddArray(const char *name, const char * id); 00078 00081 void RemoveArray(const char *name); 00082 00085 void ClearArrays(); 00086 00089 const char *GetArray(const char *name); 00090 00093 vtkStringArray* GetArrayNames(); 00094 00097 vtkStringArray* GetArrays(); 00098 00142 void SetProperty(const char *arrname, const char *property, const char *value); 00143 const char* GetProperty(const char *arrname, const char *property); 00144 00147 void ClearProperty(const char *arrname, const char *property); 00148 00151 void ClearProperties(const char *arrname); 00152 00155 void ClearProperties(); 00156 00159 virtual void SetSceneReferences(); 00160 00164 virtual void UpdateReferences(); 00165 00168 virtual void UpdateReferenceID(const char *oldID, const char *newID); 00169 00170 protected: 00171 //---------------------------------------------------------------- 00173 //---------------------------------------------------------------- 00174 vtkMRMLChartNode(); 00175 ~vtkMRMLChartNode(); 00176 vtkMRMLChartNode(const vtkMRMLChartNode&); 00177 void operator=(const vtkMRMLChartNode&); 00178 00179 00180 protected: 00181 //---------------------------------------------------------------- 00183 //---------------------------------------------------------------- 00184 DoubleArrayIDMap *DoubleArrayIDs; 00185 vtkStringArray *Arrays; // only valid when GetArrays() is called 00186 vtkStringArray *ArrayNames; // only valid when GetArrayNames() is called 00187 ChartPropertyMap *Properties; 00188 }; 00189 00190 00191 00192 #endif 00193
1.7.4