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

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 =========================================================================*/
00036 #ifndef __vtkPOPReader_h
00037 #define __vtkPOPReader_h
00038 
00039 #include "vtkStructuredGridSource.h"
00040 
00041 class vtkFloatArray;
00042 class vtkImageData;
00043 class vtkPoints;
00044 
00045 class VTK_PARALLEL_EXPORT vtkPOPReader : public vtkStructuredGridSource 
00046 {
00047 public:
00048   static vtkPOPReader *New();
00049   vtkTypeRevisionMacro(vtkPOPReader,vtkStructuredGridSource);
00050   void PrintSelf(ostream& os, vtkIndent indent);
00051   
00053 
00054   vtkGetVector2Macro(Dimensions, int);  
00056     
00058 
00060   vtkGetStringMacro(GridFileName);
00062 
00064 
00065   vtkGetStringMacro(UFlowFileName);
00066   vtkGetStringMacro(VFlowFileName);
00068   
00070 
00071   vtkSetStringMacro(FileName);
00072   vtkGetStringMacro(FileName);
00074   
00076 
00077   vtkSetMacro(Radius, float);
00078   vtkGetMacro(Radius, float);
00080   
00082 
00084   vtkSetVector6Macro(ClipExtent, int);
00085   vtkGetVector6Macro(ClipExtent, int);
00087 
00089 
00090   vtkSetMacro(NumberOfGhostLevels, int);
00091   vtkGetMacro(NumberOfGhostLevels, int);
00093 
00094 protected:
00095   vtkPOPReader();
00096   ~vtkPOPReader();
00097 
00098   void ExecuteInformation();
00099   void Execute();
00100   
00101   void ReadInformationFile();
00102   vtkPoints *ReadPoints(vtkImageData *image);
00103   void ReadFlow();
00104   // NOT USED
00105   vtkPoints *GeneratePoints();
00106   
00107   char *FileName;
00108   
00109   int Dimensions[2];
00110   vtkSetStringMacro(GridFileName);
00111   void SetGridName(char *name);
00112   char *GridFileName;
00113 
00114   float Radius;
00115   vtkFloatArray *DepthValues;
00116   int NumberOfGhostLevels;
00117 
00118   void DeleteArrays();
00119   void AddArray(char *arrayName, char *fileName, unsigned long offset);
00120   void AddArrayName(char *arrayName, char *fileName, unsigned long offset);
00121   int NumberOfArrays;
00122   int MaximumNumberOfArrays;
00123   char **ArrayNames;
00124   char **ArrayFileNames;  
00125   unsigned long *ArrayOffsets;
00126   int ArrayFileDimensionality;
00127 
00128 
00129   char *UFlowFileName;
00130   vtkSetStringMacro(UFlowFileName);
00131   unsigned long UFlowFileOffset;
00132   char *VFlowFileName;
00133   vtkSetStringMacro(VFlowFileName);
00134   unsigned long VFlowFileOffset;
00135   
00136 
00137   int IsFileName(char *name);
00138   char *MakeFileName(char *name);
00139 
00140   int ClipExtent[6];
00141 
00142   vtkPOPReader(const vtkPOPReader&);   // Not implemented
00143   void operator=(const vtkPOPReader&); // Not implemented
00144 };
00145 
00146 #endif
00147 
00148