VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPOpenFOAMReader.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 =========================================================================*/ 00029 #ifndef __vtkPOpenFOAMReader_h 00030 #define __vtkPOpenFOAMReader_h 00031 00032 #include "vtkOpenFOAMReader.h" 00033 00034 class vtkDataArraySelection; 00035 class vtkMultiProcessController; 00036 00037 class VTK_PARALLEL_EXPORT vtkPOpenFOAMReader : public vtkOpenFOAMReader 00038 { 00039 public: 00040 //BTX 00041 enum caseType { DECOMPOSED_CASE = 0, RECONSTRUCTED_CASE = 1 }; 00042 //ETX 00043 static vtkPOpenFOAMReader *New(); 00044 vtkTypeMacro(vtkPOpenFOAMReader, vtkOpenFOAMReader); 00045 00046 void PrintSelf(ostream &os, vtkIndent indent); 00047 00049 00050 void SetCaseType(const int t); 00051 vtkGetMacro(CaseType, caseType); 00053 00054 00055 virtual void SetController(vtkMultiProcessController *); 00056 vtkGetObjectMacro(Controller, vtkMultiProcessController); 00058 00059 protected: 00060 vtkPOpenFOAMReader(); 00061 ~vtkPOpenFOAMReader(); 00062 00063 int RequestInformation(vtkInformation *, vtkInformationVector **, 00064 vtkInformationVector *); 00065 int RequestData(vtkInformation *, vtkInformationVector **, 00066 vtkInformationVector *); 00067 00068 private: 00069 vtkMultiProcessController *Controller; 00070 caseType CaseType; 00071 unsigned long MTimeOld; 00072 int MaximumNumberOfPieces; 00073 int NumProcesses; 00074 int ProcessId; 00075 00076 vtkPOpenFOAMReader(const vtkPOpenFOAMReader &); // Not implemented. 00077 void operator=(const vtkPOpenFOAMReader &); // Not implemented. 00078 00079 void GatherMetaData(); 00080 void BroadcastStatus(int &); 00081 void Broadcast(vtkStringArray *); 00082 void AllGather(vtkStringArray *); 00083 void AllGather(vtkDataArraySelection *); 00084 }; 00085 00086 #endif