VTK  9.2.6
vtkCPExodusIIInSituReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkCPExodusIIInSituReader.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 
31 #ifndef vtkCPExodusIIInSituReader_h
32 #define vtkCPExodusIIInSituReader_h
33 
34 #include "vtkIOExodusModule.h" // For export macro
36 #include "vtkNew.h" // For vtkNew
37 #include <string> // For std::string
38 #include <vector> // For std::vector
39 
41 class vtkPointData;
42 class vtkPoints;
43 
45 {
46 public:
49  void PrintSelf(ostream& os, vtkIndent indent) override;
50 
52 
55  vtkSetFilePathMacro(FileName);
56  vtkGetFilePathMacro(FileName);
58 
60 
63  vtkGetMacro(CurrentTimeStep, int);
64  vtkSetMacro(CurrentTimeStep, int);
66 
68 
72  vtkGetVector2Macro(TimeStepRange, int);
74 
78  double GetTimeStepValue(int step) { return TimeSteps.at(step); }
79 
80 protected:
82  ~vtkCPExodusIIInSituReader() override;
83 
85  vtkInformationVector* outputVector) override;
88 
89 private:
91  void operator=(const vtkCPExodusIIInSituReader&) = delete;
92 
93  bool ExOpen();
94  char* FileName;
95  int FileId;
96 
97  bool ExGetMetaData();
98  int NumberOfDimensions;
99  int NumberOfNodes;
100  int NumberOfElementBlocks;
101  std::vector<std::string> NodalVariableNames;
102  std::vector<std::string> ElementVariableNames;
103  std::vector<int> ElementBlockIds;
104  std::vector<double> TimeSteps;
105  int TimeStepRange[2];
106 
107  bool ExGetCoords();
108  vtkNew<vtkPoints> Points;
109 
110  bool ExGetNodalVars();
111  vtkNew<vtkPointData> PointData;
112 
113  bool ExGetElemBlocks();
114  vtkNew<vtkMultiBlockDataSet> ElementBlocks;
115 
116  void ExClose();
117 
118  int CurrentTimeStep;
119 };
120 
121 #endif // vtkCPExodusIIInSituReader_h
Read an Exodus II file into data structures that map the raw arrays returned by the Exodus II library...
represent and manipulate point attribute data
Definition: vtkPointData.h:41
double GetTimeStepValue(int step)
Get the floating point tag associated with the timestep at 'step'.
Store vtkAlgorithm input/output information.
Superclass for algorithms that produce only vtkMultiBlockDataSet as output.
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
static vtkMultiBlockDataSetAlgorithm * New()
int vtkTypeBool
Definition: vtkABI.h:69
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkTypeBool ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
see vtkAlgorithm for details
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
maintain an ordered list of dataarray objects
Store zero or more vtkInformation instances.
represent and manipulate 3D points
Definition: vtkPoints.h:39
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.