![]() |
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