00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00033 #ifndef __vtkNetCDFPOPReader_h
00034 #define __vtkNetCDFPOPReader_h
00035
00036 #include "vtkRectilinearGridAlgorithm.h"
00037
00038 class vtkDataArraySelection;
00039 class vtkCallbackCommand;
00040 class vtkNetCDFPOPReaderInternal;
00041
00042 class VTK_IO_EXPORT vtkNetCDFPOPReader : public vtkRectilinearGridAlgorithm
00043 {
00044 public:
00045 vtkTypeMacro(vtkNetCDFPOPReader,vtkRectilinearGridAlgorithm);
00046 static vtkNetCDFPOPReader *New();
00047 void PrintSelf(ostream& os, vtkIndent indent);
00048
00050
00051 vtkSetStringMacro(FileName);
00052 vtkGetStringMacro(FileName);
00054
00056
00057 vtkSetVector3Macro(Stride, int);
00058 vtkGetVector3Macro(Stride, int);
00060
00062
00063 virtual int GetNumberOfVariableArrays();
00064 virtual const char *GetVariableArrayName(int idx);
00065 virtual int GetVariableArrayStatus(const char *name);
00066 virtual void SetVariableArrayStatus(const char *name, int status);
00068
00069 protected:
00070 vtkNetCDFPOPReader();
00071 ~vtkNetCDFPOPReader();
00072
00073 int RequestData(vtkInformation*,vtkInformationVector**,
00074 vtkInformationVector*);
00075 virtual int RequestInformation(vtkInformation* request,
00076 vtkInformationVector** inputVector,
00077 vtkInformationVector* outputVector);
00078
00079 static void SelectionModifiedCallback(vtkObject *caller, unsigned long eid,
00080 void *clientdata, void *calldata);
00081
00082 static void EventCallback(vtkObject* caller, unsigned long eid,
00083 void* clientdata, void* calldata);
00084
00085 vtkCallbackCommand* SelectionObserver;
00086
00087 char *FileName;
00088
00089 int NCDFFD;
00090
00091 int Stride[3];
00092
00093 private:
00094 vtkNetCDFPOPReader(const vtkNetCDFPOPReader&);
00095 void operator=(const vtkNetCDFPOPReader&);
00096
00097 vtkNetCDFPOPReaderInternal* Internals;
00098 };
00099 #endif