VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkNetCDFPOPReader.h 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00033 #ifndef __vtkNetCDFPOPReader_h 00034 #define __vtkNetCDFPOPReader_h 00035 00036 #include "vtkIONetCDFModule.h" // For export macro 00037 #include "vtkRectilinearGridAlgorithm.h" 00038 00039 class vtkDataArraySelection; 00040 class vtkCallbackCommand; 00041 class vtkNetCDFPOPReaderInternal; 00042 00043 class VTKIONETCDF_EXPORT vtkNetCDFPOPReader : public vtkRectilinearGridAlgorithm 00044 { 00045 public: 00046 vtkTypeMacro(vtkNetCDFPOPReader,vtkRectilinearGridAlgorithm); 00047 static vtkNetCDFPOPReader *New(); 00048 void PrintSelf(ostream& os, vtkIndent indent); 00049 00051 00052 vtkSetStringMacro(FileName); 00053 vtkGetStringMacro(FileName); 00055 00057 00058 vtkSetVector3Macro(Stride, int); 00059 vtkGetVector3Macro(Stride, int); 00061 00063 00064 virtual int GetNumberOfVariableArrays(); 00065 virtual const char *GetVariableArrayName(int idx); 00066 virtual int GetVariableArrayStatus(const char *name); 00067 virtual void SetVariableArrayStatus(const char *name, int status); 00069 00070 protected: 00071 vtkNetCDFPOPReader(); 00072 ~vtkNetCDFPOPReader(); 00073 00074 int RequestData(vtkInformation*,vtkInformationVector**, 00075 vtkInformationVector*); 00076 virtual int RequestInformation(vtkInformation* request, 00077 vtkInformationVector** inputVector, 00078 vtkInformationVector* outputVector); 00079 00080 static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid, 00081 void *clientdata, void *calldata); 00082 00083 static void EventCallback(vtkObject* caller, unsigned long eid, 00084 void* clientdata, void* calldata); 00085 00086 vtkCallbackCommand* SelectionObserver; 00087 00088 char *FileName; 00089 00091 int NCDFFD; 00092 00094 char* OpenedFileName; 00095 00096 vtkSetStringMacro(OpenedFileName); 00097 00098 int Stride[3]; 00099 00100 private: 00101 vtkNetCDFPOPReader(const vtkNetCDFPOPReader&); // Not implemented. 00102 void operator=(const vtkNetCDFPOPReader&); // Not implemented. 00103 00104 vtkNetCDFPOPReaderInternal* Internals; 00105 }; 00106 #endif