VTK
vtkPExodusIIReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPExodusIIReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*----------------------------------------------------------------------------
16  Copyright (c) Sandia Corporation
17  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
18 ----------------------------------------------------------------------------*/
19 
38 #ifndef __vtkPExodusIIReader_h
39 #define __vtkPExodusIIReader_h
40 
41 #include "vtkExodusIIReader.h"
42 
43 #include <vtkstd/vector> // Required for vector
44 
45 class vtkTimerLog;
47 
49 {
50 public:
51  static vtkPExodusIIReader* New();
53  void PrintSelf( ostream& os, vtkIndent indent );
54 
56 
59  void SetController(vtkMultiProcessController* c);
60  vtkGetObjectMacro(Controller, vtkMultiProcessController);
62 
64 
71  vtkSetStringMacro(FilePattern);
72  vtkGetStringMacro(FilePattern);
73  vtkSetStringMacro(FilePrefix);
74  vtkGetStringMacro(FilePrefix);
76 
78 
80  void SetFileRange( int, int );
81  void SetFileRange( int* r ) { this->SetFileRange( r[0], r[1] ); }
82  vtkGetVector2Macro(FileRange,int);
84 
89  void SetFileNames( int nfiles, const char** names );
90 
91  virtual void SetFileName( const char* name );
92 
94  char** GetFileNames() { return this->FileNames; }
95 
97  int GetNumberOfFileNames() { return this->NumberOfFileNames; }
98 
100 
101  vtkGetMacro(NumberOfFiles,int);
103 
106 
112  virtual void UpdateTimeInformation();
113 
117  virtual void Broadcast( vtkMultiProcessController* ctrl );
118 
119 protected:
122 
124 
125  int DeterminePattern( const char* file );
126  static int DetermineFileId( const char* file );
128 
129  // **KEN** Previous discussions concluded with std classes in header
130  // files is bad. Perhaps we should change ReaderList.
131 
135  char* FilePattern;
137  char* FilePrefix;
140  int FileRange[2];
141  int CurrentFileRange[2];
143  char **FileNames;
145 //BTX
146  vtkstd::vector<vtkExodusIIReader*> ReaderList;
147  vtkstd::vector<int> NumberOfPointsPerFile;
148  vtkstd::vector<int> NumberOfCellsPerFile;
149 //ETX
150 
152 
153  int Timing;
155 
158 
159 private:
160  vtkPExodusIIReader( const vtkPExodusIIReader& ); // Not implemented
161  void operator = ( const vtkPExodusIIReader& ); // Not implemented
162 };
163 
164 #endif
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkstd::vector< int > NumberOfCellsPerFile
Store vtkAlgorithm input/output information.
int vtkIdType
Definition: vtkType.h:255
vtkstd::vector< vtkExodusIIReader * > ReaderList
static vtkExodusIIReader * New()
virtual void SetFileName(const char *fname)
virtual vtkIdType GetTotalNumberOfElements()
Timer support and logging.
Definition: vtkTimerLog.h:82
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkMultiProcessController * Controller
a simple class to control print indentation
Definition: vtkIndent.h:37
virtual void UpdateTimeInformation()
Read Exodus II files (.exii)
virtual vtkIdType GetTotalNumberOfNodes()
void SetFileRange(int *r)
vtkstd::vector< int > NumberOfPointsPerFile
Read exodus 2 files .ex2.
Store zero or more vtkInformation instances.
void PrintSelf(ostream &os, vtkIndent indent)
#define VTK_HYBRID_EXPORT
Multiprocessing communication superclass.