VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkBiomTableReader.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00027 #ifndef vtkBiomTableReader_h 00028 #define vtkBiomTableReader_h 00029 00030 #include "vtkIOInfovisModule.h" // For export macro 00031 #include "vtkTableReader.h" 00032 00033 class vtkTable; 00034 class vtkVariant; 00035 00036 class VTKIOINFOVIS_EXPORT vtkBiomTableReader : public vtkTableReader 00037 { 00038 public: 00039 static vtkBiomTableReader *New(); 00040 vtkTypeMacro(vtkBiomTableReader,vtkTableReader); 00041 void PrintSelf(ostream& os, vtkIndent indent); 00042 00044 00045 vtkTable *GetOutput(); 00046 vtkTable *GetOutput(int idx); 00047 void SetOutput(vtkTable *output); 00049 00050 protected: 00051 vtkBiomTableReader(); 00052 ~vtkBiomTableReader(); 00053 00054 virtual int RequestData(vtkInformation *, vtkInformationVector **, 00055 vtkInformationVector *); 00056 00057 // Since the Outputs[0] has the same UpdateExtent format 00058 // as the generic DataObject we can copy the UpdateExtent 00059 // as a default behavior. 00060 virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, 00061 vtkInformationVector *); 00062 00063 virtual int FillOutputPortInformation(int, vtkInformation*); 00064 void ParseShape(); 00065 void ParseDataType(); 00066 void ParseSparseness(); 00067 void InitializeData(); 00068 void FillData(vtkVariant v); 00069 void ParseSparseData(); 00070 void ParseDenseData(); 00071 void InsertValue(int row, int col, std::string value); 00072 void ParseId(); 00073 void ParseColumns(); 00074 void ParseRows(); 00075 00076 private: 00077 std::string FileContents; 00078 int NumberOfRows; 00079 int NumberOfColumns; 00080 int DataType; 00081 bool Sparse; 00082 vtkBiomTableReader(const vtkBiomTableReader&); // Not implemented. 00083 void operator=(const vtkBiomTableReader&); // Not implemented. 00084 }; 00085 00086 #endif