Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

dox/Parallel/vtkPOPReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkPOPReader.h,v $
00005   Language:  C++
00006 
00007   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
00008   All rights reserved.
00009   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
00010 
00011      This software is distributed WITHOUT ANY WARRANTY; without even 
00012      the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 
00013      PURPOSE.  See the above copyright notice for more information.
00014 
00015 =========================================================================*/
00025 #ifndef __vtkPOPReader_h
00026 #define __vtkPOPReader_h
00027 
00028 #include "vtkStructuredGridSource.h"
00029 
00030 class vtkFloatArray;
00031 class vtkImageData;
00032 class vtkPoints;
00033 
00034 class VTK_PARALLEL_EXPORT vtkPOPReader : public vtkStructuredGridSource 
00035 {
00036 public:
00037   static vtkPOPReader *New();
00038   vtkTypeRevisionMacro(vtkPOPReader,vtkStructuredGridSource);
00039   void PrintSelf(ostream& os, vtkIndent indent);
00040   
00042 
00043   vtkGetVector2Macro(Dimensions, int);  
00045     
00047 
00049   vtkGetStringMacro(GridFileName);
00051 
00053 
00054   vtkGetStringMacro(UFlowFileName);
00055   vtkGetStringMacro(VFlowFileName);
00057   
00059 
00060   vtkSetStringMacro(FileName);
00061   vtkGetStringMacro(FileName);
00063   
00065 
00066   vtkSetMacro(Radius, float);
00067   vtkGetMacro(Radius, float);
00069   
00071 
00073   vtkSetVector6Macro(ClipExtent, int);
00074   vtkGetVector6Macro(ClipExtent, int);
00076 
00078 
00079   vtkSetMacro(NumberOfGhostLevels, int);
00080   vtkGetMacro(NumberOfGhostLevels, int);
00082 
00083 protected:
00084   vtkPOPReader();
00085   ~vtkPOPReader();
00086 
00087   void ExecuteInformation();
00088   void Execute();
00089   
00090   void ReadInformationFile();
00091   vtkPoints *ReadPoints(vtkImageData *image);
00092   void ReadFlow();
00093   // NOT USED
00094   vtkPoints *GeneratePoints();
00095   
00096   char *FileName;
00097   
00098   int Dimensions[2];
00099   vtkSetStringMacro(GridFileName);
00100   void SetGridName(char *name);
00101   char *GridFileName;
00102 
00103   float Radius;
00104   vtkFloatArray *DepthValues;
00105   int NumberOfGhostLevels;
00106 
00107   void DeleteArrays();
00108   void AddArray(char *arrayName, char *fileName, unsigned long offset);
00109   void AddArrayName(char *arrayName, char *fileName, unsigned long offset);
00110   int NumberOfArrays;
00111   int MaximumNumberOfArrays;
00112   char **ArrayNames;
00113   char **ArrayFileNames;  
00114   unsigned long *ArrayOffsets;
00115   int ArrayFileDimensionality;
00116 
00117 
00118   char *UFlowFileName;
00119   vtkSetStringMacro(UFlowFileName);
00120   unsigned long UFlowFileOffset;
00121   char *VFlowFileName;
00122   vtkSetStringMacro(VFlowFileName);
00123   unsigned long VFlowFileOffset;
00124   
00125 
00126   int IsFileName(char *name);
00127   char *MakeFileName(char *name);
00128 
00129   int ClipExtent[6];
00130 
00131   vtkPOPReader(const vtkPOPReader&);   // Not implemented
00132   void operator=(const vtkPOPReader&); // Not implemented
00133 };
00134 
00135 #endif
00136 
00137