00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00031 #ifndef __vtkStringToNumeric_h
00032 #define __vtkStringToNumeric_h
00033 
00034 #include "vtkDataObjectAlgorithm.h"
00035 
00036 class VTK_INFOVIS_EXPORT vtkStringToNumeric : public vtkDataObjectAlgorithm
00037 {
00038 public:
00039   static vtkStringToNumeric* New();
00040   vtkTypeRevisionMacro(vtkStringToNumeric,vtkDataObjectAlgorithm);
00041   void PrintSelf(ostream& os, vtkIndent indent);
00042   
00044 
00045   vtkSetMacro(ConvertFieldData, bool);
00046   vtkGetMacro(ConvertFieldData, bool);
00047   vtkBooleanMacro(ConvertFieldData, bool);
00049   
00051 
00052   vtkSetMacro(ConvertPointData, bool);
00053   vtkGetMacro(ConvertPointData, bool);
00054   vtkBooleanMacro(ConvertPointData, bool);
00056   
00058 
00059   vtkSetMacro(ConvertCellData, bool);
00060   vtkGetMacro(ConvertCellData, bool);
00061   vtkBooleanMacro(ConvertCellData, bool);
00063 
00065 
00066   virtual void SetConvertVertexData(bool b)
00067     { this->SetConvertPointData(b); }
00068   virtual bool GetConvertVertexData()
00069     { return this->GetConvertPointData(); }
00070   vtkBooleanMacro(ConvertVertexData, bool);
00072 
00074 
00075   virtual void SetConvertEdgeData(bool b)
00076     { this->SetConvertCellData(b); }
00077   virtual bool GetConvertEdgeData()
00078     { return this->GetConvertCellData(); }
00079   vtkBooleanMacro(ConvertEdgeData, bool);
00081 
00083 
00084   virtual void SetConvertRowData(bool b)
00085     { this->SetConvertPointData(b); }
00086   virtual bool GetConvertRowData()
00087     { return this->GetConvertPointData(); }
00088   vtkBooleanMacro(ConvertRowData, bool);
00090 
00092 
00093   virtual int ProcessRequest(vtkInformation* request, 
00094                              vtkInformationVector** inputVector,
00095                              vtkInformationVector* outputVector);
00097 
00098 protected:
00099   vtkStringToNumeric();
00100   ~vtkStringToNumeric();
00101 
00103 
00104   virtual int RequestDataObject(vtkInformation* request,
00105                                 vtkInformationVector** inputVector,
00106                                 vtkInformationVector* outputVector);
00108   
00110   void ConvertArrays(vtkFieldData* fieldData);
00111   
00112   bool ConvertFieldData;
00113   bool ConvertPointData;
00114   bool ConvertCellData;
00115 
00116   int RequestData(
00117     vtkInformation*, 
00118     vtkInformationVector**, 
00119     vtkInformationVector*);
00120     
00121 private:
00122   vtkStringToNumeric(const vtkStringToNumeric&); 
00123   void operator=(const vtkStringToNumeric&);   
00124 };
00125 
00126 #endif
00127