VTK  9.2.6
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
41
42#ifndef vtkPExodusIIReader_h
43#define vtkPExodusIIReader_h
44
45#include "vtkExodusIIReader.h"
46#include "vtkIOParallelExodusModule.h" // For export macro
47
48#include <vector> // Required for vector
49
50class vtkTimerLog;
52
53class VTKIOPARALLELEXODUS_EXPORT vtkPExodusIIReader : public vtkExodusIIReader
54{
55public:
58 void PrintSelf(ostream& os, vtkIndent indent) override;
59
61
69
71
85
87
91 void SetFileRange(int, int);
92 void SetFileRange(int* r) { this->SetFileRange(r[0], r[1]); }
93 vtkGetVector2Macro(FileRange, int);
95
102 void SetFileNames(int nfiles, const char** names);
103
104 void SetFileName(VTK_FILEPATH const char* name) override;
105
109 char** GetFileNames() { return this->FileNames; }
110
115
117
120 vtkGetMacro(NumberOfFiles, int);
122
125
131
133
143 vtkGetMacro(VariableCacheSize, double);
144 vtkSetMacro(VariableCacheSize, double);
146
147protected:
150
152
155 int DeterminePattern(const char* file);
156 static int DetermineFileId(const char* file);
158
159 // holds the size of the variable cache in GigaBytes
161
162 // **KEN** Previous discussions concluded with std classes in header
163 // files is bad. Perhaps we should change ReaderList.
164
173 int FileRange[2];
176 char** FileNames;
178
179 std::vector<vtkExodusIIReader*> ReaderList;
180 std::vector<int> NumberOfPointsPerFile;
181 std::vector<int> NumberOfCellsPerFile;
182
184
187
190
191private:
192 vtkPExodusIIReader(const vtkPExodusIIReader&) = delete;
193 void operator=(const vtkPExodusIIReader&) = delete;
194};
195
196#endif
friend class vtkPExodusIIReader
a simple class to control print indentation
Definition vtkIndent.h:40
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
vtkSetFilePathMacro(FilePattern)
These methods tell the reader that the data is distributed across multiple files.
static vtkPExodusIIReader * New()
static int DetermineFileId(const char *file)
Try to "guess" the pattern of files.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
char ** GetFileNames()
Return pointer to list of file names set in SetFileNames.
vtkGetFilePathMacro(FilePrefix)
These methods tell the reader that the data is distributed across multiple files.
vtkSetFilePathMacro(FilePrefix)
These methods tell the reader that the data is distributed across multiple files.
int GetNumberOfFileNames()
Return number of file names set in SetFileNames.
vtkGetFilePathMacro(FilePattern)
These methods tell the reader that the data is distributed across multiple files.
vtkIdType GetTotalNumberOfNodes() override
vtkIdType GetTotalNumberOfElements() override
void SetFileName(VTK_FILEPATH const char *name) override
Specify file name of the Exodus file.
std::vector< int > NumberOfPointsPerFile
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
void SetController(vtkMultiProcessController *c)
Set/get the communication object used to relay a list of files from the rank 0 process to all others.
void SetFileNames(int nfiles, const char **names)
Provide an arbitrary list of file names instead of a prefix, pattern and range.
void SetFileRange(int *r)
Set the range of files that are being loaded.
std::vector< int > NumberOfCellsPerFile
~vtkPExodusIIReader() override
vtkMultiProcessController * Controller
int DeterminePattern(const char *file)
Try to "guess" the pattern of files.
virtual void Broadcast(vtkMultiProcessController *ctrl)
Sends metadata (that read from the input file, not settings modified through this API) from the rank ...
void SetFileRange(int, int)
Set the range of files that are being loaded.
std::vector< vtkExodusIIReader * > ReaderList
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Timer support and logging.
Definition vtkTimerLog.h:96
int vtkIdType
Definition vtkType.h:332
#define VTK_FILEPATH