VTK: IO/H5Rage/vtkH5RageReader.h Source File

| VTK 9.3.1

vtkH5RageReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
11 #ifndef vtkH5RageReader_h
12 #define vtkH5RageReader_h
13
14 #include "vtkIOH5RageModule.h" // For export macro
15 #include "vtkImageAlgorithm.h"
16
17 VTK_ABI_NAMESPACE_BEGIN
18 class vtkCallbackCommand;
19 class vtkDataArraySelection;
20 class vtkMultiProcessController;
21
22 class H5RageAdaptor;
23
24 class VTKIOH5RAGE_EXPORT vtkH5RageReader : public vtkImageAlgorithm
25 {
26 public:
27 static vtkH5RageReader* New();
28 vtkTypeMacro(vtkH5RageReader, vtkImageAlgorithm);
29 void PrintSelf(ostream& os, vtkIndent indent) override;
30
32
35 vtkSetFilePathMacro(FileName);
36 vtkGetFilePathMacro(FileName);
38
40
43 vtkSetMacro(CurrentTimeStep, int);
44 vtkGetMacro(CurrentTimeStep, int);
46
48
51 vtkImageData* GetOutput();
52 vtkImageData* GetOutput(int index);
54
56
61 int GetNumberOfPointArrays();
62 const char* GetPointArrayName(int index);
63 int GetPointArrayStatus(const char* name);
64 void SetPointArrayStatus(const char* name, int status);
65 void DisableAllPointArrays();
66 void EnableAllPointArrays();
68
69 protected:
70 vtkH5RageReader();
71 ~vtkH5RageReader() override;
72
73 char* FileName; // First field part file giving path
74
75 int Rank; // Number of this processor
76 int TotalRank; // Number of processors
77
78 H5RageAdaptor* H5rageAdaptor;
79
80 int WholeExtent[6]; // Size of image
81 int SubExtent[6]; // Size of image this processor
82 int Dimension[3]; // Dimension of image
83 double Origin[3]; // Physical origin
84 double Spacing[3]; // Physical spacing
85
86 int NumberOfTimeSteps;
87 double* TimeSteps; // Times available for request
88 int CurrentTimeStep; // Time currently displayed
89
90 // Controls initializing and querying MPI
91 void SetController(vtkMultiProcessController*);
92 vtkMultiProcessController* Controller;
93
94 // Selected field of interest
95 vtkDataArraySelection* PointDataArraySelection;
96
97 // Observer to modify this object when array selections are modified
98 vtkCallbackCommand* SelectionObserver;
99
100 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*) override;
101 int RequestInformation(
102 vtkInformation*, vtkInformationVector** inVector, vtkInformationVector*) override;
103
104 static void SelectionCallback(
105 vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
106 static void EventCallback(vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
107
108 private:
109 vtkH5RageReader(const vtkH5RageReader&) = delete;
110 void operator=(const vtkH5RageReader&) = delete;
111 };
112
113 VTK_ABI_NAMESPACE_END
114 #endif
H5RageAdaptor
Definition: H5RageAdaptor.h:20
vtkCallbackCommand
supports function callbacks
Definition: vtkCallbackCommand.h:49
vtkDataArraySelection
Store on/off settings for data arrays, etc.
Definition: vtkDataArraySelection.h:37
vtkH5RageReader
class for reading Rage HDF data files
Definition: vtkH5RageReader.h:25
vtkH5RageReader::New
static vtkH5RageReader * New()
vtkH5RageReader::EventCallback
static void EventCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
vtkH5RageReader::vtkSetFilePathMacro
vtkSetFilePathMacro(FileName)
Specify file name of H5Rage data file to read.
vtkH5RageReader::TimeSteps
double * TimeSteps
Definition: vtkH5RageReader.h:87
vtkH5RageReader::~vtkH5RageReader
~vtkH5RageReader() override
vtkH5RageReader::vtkGetFilePathMacro
vtkGetFilePathMacro(FileName)
Specify file name of H5Rage data file to read.
vtkH5RageReader::SelectionCallback
static void SelectionCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
vtkH5RageReader::DisableAllPointArrays
void DisableAllPointArrays()
The following methods allow selective reading of solutions fields.
vtkH5RageReader::GetNumberOfPointArrays
int GetNumberOfPointArrays()
The following methods allow selective reading of solutions fields.
vtkH5RageReader::vtkH5RageReader
vtkH5RageReader()
vtkH5RageReader::GetPointArrayStatus
int GetPointArrayStatus(const char *name)
The following methods allow selective reading of solutions fields.
vtkH5RageReader::Controller
vtkMultiProcessController * Controller
Definition: vtkH5RageReader.h:92
vtkH5RageReader::GetPointArrayName
const char * GetPointArrayName(int index)
The following methods allow selective reading of solutions fields.
vtkH5RageReader::SelectionObserver
vtkCallbackCommand * SelectionObserver
Definition: vtkH5RageReader.h:98
vtkH5RageReader::NumberOfTimeSteps
int NumberOfTimeSteps
Definition: vtkH5RageReader.h:86
vtkH5RageReader::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
vtkH5RageReader::PointDataArraySelection
vtkDataArraySelection * PointDataArraySelection
Definition: vtkH5RageReader.h:95
vtkH5RageReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkH5RageReader::Rank
int Rank
Definition: vtkH5RageReader.h:75
vtkH5RageReader::GetOutput
vtkImageData * GetOutput()
Get the reader's output.
vtkH5RageReader::SetPointArrayStatus
void SetPointArrayStatus(const char *name, int status)
The following methods allow selective reading of solutions fields.
vtkH5RageReader::FileName
char * FileName
Definition: vtkH5RageReader.h:73
vtkH5RageReader::EnableAllPointArrays
void EnableAllPointArrays()
The following methods allow selective reading of solutions fields.
vtkH5RageReader::TotalRank
int TotalRank
Definition: vtkH5RageReader.h:76
vtkH5RageReader::H5rageAdaptor
H5RageAdaptor * H5rageAdaptor
Definition: vtkH5RageReader.h:78
vtkH5RageReader::GetOutput
vtkImageData * GetOutput(int index)
Get the reader's output.
vtkH5RageReader::RequestInformation
int RequestInformation(vtkInformation *, vtkInformationVector **inVector, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
vtkH5RageReader::SetController
void SetController(vtkMultiProcessController *)
vtkH5RageReader::CurrentTimeStep
int CurrentTimeStep
Definition: vtkH5RageReader.h:88
vtkImageAlgorithm
Generic algorithm superclass for image algs.
Definition: vtkImageAlgorithm.h:39
vtkImageData
topologically and geometrically regular array of data
Definition: vtkImageData.h:52
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:38
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:40
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:72
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:72
vtkObject
abstract base class for most VTK objects
Definition: vtkObject.h:61
vtkX3D::name
@ name
Definition: vtkX3D.h:219
vtkX3D::index
@ index
Definition: vtkX3D.h:246
vtkImageAlgorithm.h