Mesh Oriented datABase
(version 5.4.1)
Array-based unstructured mesh datastructure
|
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 00012 { 00013 class Tag; 00014 class Interface; 00015 } // namespace smoab 00016 00017 class vtkMoabReader : public vtkMultiBlockDataSetAlgorithm 00018 { 00019 public: 00020 static vtkMoabReader* New(); 00021 vtkTypeMacro( vtkMoabReader, vtkMultiBlockDataSetAlgorithm ) void PrintSelf( ostream& os, vtkIndent indent ); 00022 00023 // Description: 00024 // Specify file name of the MOAB mesh file. 00025 vtkSetStringMacro( FileName ); 00026 vtkGetStringMacro( FileName ); 00027 00028 protected: 00029 vtkMoabReader(); 00030 ~vtkMoabReader(); 00031 00032 int RequestInformation( vtkInformation* vtkNotUsed( request ), 00033 vtkInformationVector** vtkNotUsed( inputVector ), 00034 vtkInformationVector* outputVector ); 00035 00036 int RequestData( vtkInformation* vtkNotUsed( request ), 00037 vtkInformationVector** vtkNotUsed( inputVector ), 00038 vtkInformationVector* outputVector ); 00039 00040 private: 00041 void CreateSubBlocks( vtkNew< vtkMultiBlockDataSet >& root, 00042 smoab::Interface* interface, 00043 smoab::Tag const* parentTag, 00044 smoab::Tag const* extractTag = NULL ); 00045 00046 void ExtractShell( vtkNew< vtkMultiBlockDataSet >& root, smoab::Interface* interface, smoab::Tag const* parentTag ); 00047 00048 vtkMoabReader( const vtkMoabReader& ); // Not implemented. 00049 void operator=( const vtkMoabReader& ); // Not implemented. 00050 char* FileName; 00051 }; 00052 00053 #endif // VTKMOABREADER_H