VTK  9.1.0
vtkVPICReader.h
Go to the documentation of this file.
1/*=========================================================================
2
3 Program: Visualization Toolkit
4 Module: vtkVPICReader.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=========================================================================*/
29#ifndef vtkVPICReader_h
30#define vtkVPICReader_h
31
32#include "vtkIOVPICModule.h" // For export macro
33#include "vtkImageAlgorithm.h"
34
37class vtkFloatArray;
38class vtkStdString;
40class vtkInformation;
41
42class VPICDataSet;
43class GridExchange;
44
45class VTKIOVPIC_EXPORT vtkVPICReader : public vtkImageAlgorithm
46{
47public:
48 static vtkVPICReader* New();
50 void PrintSelf(ostream& os, vtkIndent indent) override;
51
53
59
61
64 vtkSetVector3Macro(Stride, int);
65 vtkGetVector3Macro(Stride, int);
67
69
72 vtkSetVector2Macro(XExtent, int);
73 vtkSetVector2Macro(YExtent, int);
74 vtkSetVector2Macro(ZExtent, int);
76
77 // Get the full layout size in files for setting the range in GUI
78 vtkGetVector2Macro(XLayout, int);
79 vtkGetVector2Macro(YLayout, int);
80 vtkGetVector2Macro(ZLayout, int);
81
83
89
91
97 const char* GetPointArrayName(int index);
98 int GetPointArrayStatus(const char* name);
99 void SetPointArrayStatus(const char* name, int status);
103
104protected:
106 ~vtkVPICReader() override;
107
108 char* FileName; // First field part file giving path
109
110 int Rank; // Number of this processor
111 int TotalRank; // Number of processors
112 int UsedRank; // Number of processors used in display
113
114 VPICDataSet* vpicData; // Data structure controlling access
115 GridExchange* exchanger; // Exchange ghost cells between procs
116
117 vtkIdType NumberOfNodes; // Number of points in grid
118 vtkIdType NumberOfCells; // Number of cells in grid
119 vtkIdType NumberOfTuples; // Number of tuples in sub extent
120
121 int WholeExtent[6]; // Problem image extent
122 int SubExtent[6]; // Processor problem extent
123 int Dimension[3]; // Size of image
124 int SubDimension[3]; // Size of subextent of image
125 int XLayout[2]; // Extent in complete files
126 int YLayout[2]; // Extent in complete files
127 int ZLayout[2]; // Extent in complete files
128
129 int NumberOfVariables; // Number of variables to display
130 vtkStdString* VariableName; // Names of each variable
131 int* VariableStruct; // Scalar, vector or tensor
132
133 int NumberOfTimeSteps; // Temporal domain
134 double* TimeSteps; // Times available for request
135 int CurrentTimeStep; // Time currently displayed
136
137 int Stride[3]; // Stride over actual data
138 int XExtent[2]; // Subview extent in files
139 int YExtent[2]; // Subview extent in files
140 int ZExtent[2]; // Subview extent in files
141
142 vtkFloatArray** data; // Actual data arrays
143 int* dataLoaded; // Data is loaded for current time
144
145 int Start[3]; // Start offset for processor w ghosts
146 int GhostDimension[3]; // Dimension including ghosts on proc
147 int NumberOfGhostTuples; // Total ghost cells per component
148 int ghostLevel0; // Left plane number of ghosts
149 int ghostLevel1; // Right plane number of ghosts
150
151 // Controls initializing and querrying MPI
153
154 // Selected field of interest
156
157 // Observer to modify this object when array selections are modified
159
163
164 void LoadVariableData(int var, int timeStep);
165 void LoadComponent(float* varData, float* block, int comp, int numberOfComponents);
166
167 static void SelectionCallback(
168 vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
169 static void EventCallback(vtkObject* caller, unsigned long eid, void* clientdata, void* calldata);
170
171private:
172 vtkVPICReader(const vtkVPICReader&) = delete;
173 void operator=(const vtkVPICReader&) = delete;
174};
175
176#endif
supports function callbacks
Store on/off settings for data arrays for a vtkSource.
dynamic, self-adjusting array of float
Generic algorithm superclass for image algs.
topologically and geometrically regular array of data
Definition: vtkImageData.h:157
a simple class to control print indentation
Definition: vtkIndent.h:113
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
abstract base class for most VTK objects
Definition: vtkObject.h:82
Wrapper around std::string to keep symbols short.
Definition: vtkStdString.h:105
class for reading VPIC data files
Definition: vtkVPICReader.h:46
void SetPointArrayStatus(const char *name, int status)
The following methods allow selective reading of solutions fields.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called in response to a REQUEST_DATA request from the executive.
vtkGetFilePathMacro(FileName)
Specify file name of VPIC data file to read.
vtkMultiProcessController * MPIController
vtkIdType NumberOfTuples
vtkImageData * GetOutput(int index)
Get the reader's output.
void LoadVariableData(int var, int timeStep)
vtkIdType NumberOfNodes
int GetPointArrayStatus(const char *name)
The following methods allow selective reading of solutions fields.
int * VariableStruct
vtkFloatArray ** data
vtkImageData * GetOutput()
Get the reader's output.
vtkDataArraySelection * PointDataArraySelection
void EnableAllPointArrays()
The following methods allow selective reading of solutions fields.
VPICDataSet * vpicData
static vtkVPICReader * New()
vtkCallbackCommand * SelectionObserver
void DisableAllPointArrays()
The following methods allow selective reading of solutions fields.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkSetFilePathMacro(FileName)
Specify file name of VPIC data file to read.
void LoadComponent(float *varData, float *block, int comp, int numberOfComponents)
int RequestInformation(vtkInformation *, vtkInformationVector **inVector, vtkInformationVector *) override
Subclasses can reimplement this method to collect information from their inputs and set information f...
int GetNumberOfPointArrays()
The following methods allow selective reading of solutions fields.
double * TimeSteps
vtkIdType NumberOfCells
const char * GetPointArrayName(int index)
The following methods allow selective reading of solutions fields.
static void EventCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
vtkStdString * VariableName
~vtkVPICReader() override
static void SelectionCallback(vtkObject *caller, unsigned long eid, void *clientdata, void *calldata)
GridExchange * exchanger
int vtkIdType
Definition: vtkType.h:332