Slicer 4.2
Slicer is a multi-platform, free and open source software package for visualization and medical image computing
vtkMRMLChartNode.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: 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 
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines