moab
|
00001 #ifndef VTKMOABREADER_H 00002 #define VTKMOABREADER_H 00003 00004 #include "vtkIOGeometryModule.h" // For export macro 00005 #include "vtkMultiBlockDataSetAlgorithm.h" 00006 #include "vtkNew.h" //needed for api signature 00007 00008 class vtkInformation; 00009 class vtkInformationVector; 00010 00011 namespace smoab{ class Tag; class Interface; } 00012 00013 class vtkMoabReader : public vtkMultiBlockDataSetAlgorithm 00014 { 00015 public: 00016 static vtkMoabReader *New(); 00017 vtkTypeMacro(vtkMoabReader,vtkMultiBlockDataSetAlgorithm) 00018 void PrintSelf(ostream& os, vtkIndent indent); 00019 00020 // Description: 00021 // Specify file name of the MOAB mesh file. 00022 vtkSetStringMacro(FileName); 00023 vtkGetStringMacro(FileName); 00024 00025 protected: 00026 vtkMoabReader(); 00027 ~vtkMoabReader(); 00028 00029 int RequestInformation(vtkInformation *vtkNotUsed(request), 00030 vtkInformationVector **vtkNotUsed(inputVector), 00031 vtkInformationVector *outputVector); 00032 00033 int RequestData(vtkInformation *vtkNotUsed(request), 00034 vtkInformationVector **vtkNotUsed(inputVector), 00035 vtkInformationVector *outputVector); 00036 private: 00037 void CreateSubBlocks(vtkNew<vtkMultiBlockDataSet> &root, 00038 smoab::Interface* interface, 00039 smoab::Tag const* parentTag, 00040 smoab::Tag const* extractTag=NULL); 00041 00042 vtkMoabReader(const vtkMoabReader&); // Not implemented. 00043 void operator=(const vtkMoabReader&); // Not implemented. 00044 char* FileName; 00045 00046 }; 00047 00048 #endif // VTKMOABREADER_H