35 #ifndef vtkUnstructuredPOPReader_h 36 #define vtkUnstructuredPOPReader_h 38 #include "vtkPVVTKExtensionsDefaultModule.h" 39 #include "vtkUnstructuredGridAlgorithm.h" 43 class vtkCallbackCommand;
44 class vtkDataArraySelection;
46 class vtkUnstructuredPOPReaderInternal;
47 class VTKPointIterator;
50 :
public vtkUnstructuredGridAlgorithm
55 void PrintSelf(ostream& os, vtkIndent indent);
61 vtkSetStringMacro(FileName);
62 vtkGetStringMacro(FileName);
71 vtkSetVector3Macro(Stride,
int);
72 vtkGetVector3Macro(Stride,
int);
81 vtkSetVector6Macro(VOI,
int);
82 vtkGetVector6Macro(VOI,
int);
89 virtual int GetNumberOfVariableArrays();
90 virtual const char* GetVariableArrayName(
int idx);
91 virtual int GetVariableArrayStatus(
const char* name);
92 virtual void SetVariableArrayStatus(
const char* name,
int status);
100 vtkSetMacro(Radius,
double);
101 vtkGetMacro(Radius,
double);
110 vtkGetMacro(VectorGrid,
int);
119 vtkSetMacro(VerticalVelocity,
bool);
120 vtkGetMacro(VerticalVelocity,
bool);
127 int RequestData(vtkInformation*, vtkInformationVector**, vtkInformationVector*);
129 static void SelectionModifiedCallback(
130 vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
132 static void EventCallback(vtkObject* caller,
unsigned long eid,
void* clientdata,
void* calldata);
146 vtkSetStringMacro(OpenedFileName);
197 bool Transform(vtkUnstructuredGrid* grid,
size_t* start,
size_t* count,
int* wholeExtent,
198 int* subExtent,
int numberOfGhostLevels,
int wrapped,
int piece,
int numberOfPieces);
205 vtkUnstructuredGrid* grid,
int piece,
int numberOfPieces,
int numberOfGhostLevels);
212 bool ReadMetaData(
int wholeExtent[6]);
214 int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
215 vtkInformationVector* outputVector);
222 void LoadPointData(vtkUnstructuredGrid* grid,
int netCDFFD,
int varidp,
size_t* start,
223 size_t* count, ptrdiff_t* rStride,
const char* arrayName);
229 void ComputeVerticalVelocity(vtkUnstructuredGrid* grid,
int* wholeExtent,
int* subExtent,
230 int numberOfGhostLevels,
int latlonFileId);
237 void CommunicateParallelVerticalVelocity(
int* wholeExtent,
int* subExtent,
238 int numberOfGhostLevels, VTKPointIterator& pointIterator,
double* w);
248 int GetPointOwnerPiece(
int iIndex,
int jIndex,
int kKindex,
int numberOfPieces,
249 int numberOfGhostLevels,
int* wholeExtent);
258 void GetPiecesNeedingPoint(
int iIndex,
int jIndex,
int kKindex,
int numberOfPieces,
259 int numberOfGhostLevels,
int* wholeExtent, vtkIdList* pieceIds);
265 bool GetExtentInformation(
266 int piece,
int numberOfPieces,
int numberOfGhostLevels,
int* wholeExtent,
int* subExtent);
274 bool BuildGhostInformation(vtkUnstructuredGrid* grid,
int numberOfGhostLevels,
int* wholeExtent,
275 int* subExtent,
int wrapped,
int piece,
int numberOfPieces);
281 vtkUnstructuredPOPReaderInternal* Internals;
bool SubsettingXMax
State variables so that we know whether or not we are only reading in part of the grid...
bool SubsettingXMin
State variables so that we know whether or not we are only reading in part of the grid...
vtkCallbackCommand * SelectionObserver
char * FileName
The name of the file to be opened.
char * OpenedFileName
If a file is opened, the file name of the opened file.
double Radius
The radius of the sphere to be outputted in meters.
bool VerticalVelocity
If it is a vector grid (i.e.
int NCDFFD
The NetCDF file descriptor.
int VectorGrid
Specify whether the grid points are at the vector field (U_LAT and U_LON) locations or the scalar fie...
bool ReducedHeightResolution
State variables so that we know whether or not we are only reading in part of the grid...