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

vtkPExodusReader.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkPExodusReader.h,v $
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 =========================================================================*/
00015 /*----------------------------------------------------------------------------
00016  Copyright (c) Sandia Corporation
00017  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html for details.
00018 ----------------------------------------------------------------------------*/
00019 
00038 #ifndef __vtkPExodusReader_h
00039 #define __vtkPExodusReader_h
00040 
00041 #include "vtkExodusReader.h"
00042 
00043 #include <vtkstd/vector> // Required for vector
00044 
00045 class vtkTimerLog;
00046 
00047 class VTK_HYBRID_EXPORT vtkPExodusReader : public vtkExodusReader 
00048 {
00049 public:
00050   static vtkPExodusReader *New();
00051   vtkTypeRevisionMacro(vtkPExodusReader,vtkExodusReader);
00052   void PrintSelf(ostream& os, vtkIndent indent);
00053 
00055 
00062   vtkSetStringMacro(FilePattern);
00063   vtkGetStringMacro(FilePattern);
00064   vtkSetStringMacro(FilePrefix);
00065   vtkGetStringMacro(FilePrefix);
00067 
00069 
00071   void SetFileRange(int,int);
00072   void SetFileRange(int* r) { this->SetFileRange(r[0], r[1]); }
00073   vtkGetVector2Macro(FileRange, int);
00075 
00079   void SetFileNames(int nfiles, const char **names);
00080 
00081   virtual void SetFileName(const char *name);
00082 
00084   char **GetFileNames(){return this->FileNames;}
00085 
00087   int GetNumberOfFileNames(){return this->NumberOfFileNames;}
00088 
00090 
00091   vtkGetMacro(NumberOfFiles, int);
00093 
00099   void SetGenerateFileIdArray(int flag);
00100   vtkGetMacro(GenerateFileIdArray, int);
00101   vtkBooleanMacro(GenerateFileIdArray, int); 
00102 
00103 
00104 //begin USE_EXO_DSP_FILTERS
00105   int GetNumberOfVariableArrays();
00106   const char *GetVariableArrayName(int a_which);
00107   void EnableDSPFiltering();
00108   void AddFilter(vtkDSPFilterDefinition *a_filter);
00109   void StartAddingFilter();
00110   void AddFilterInputVar(char *name);
00111   void AddFilterOutputVar(char *name);
00112   void AddFilterNumeratorWeight(double weight);
00113   void AddFilterForwardNumeratorWeight(double weight);
00114   void AddFilterDenominatorWeight(double weight);
00115   void FinishAddingFilter();
00116   void RemoveFilter(char *a_outputVariableName);
00117 //end USE_EXO_DSP_FILTERS
00118 
00119 
00120 protected:
00121   vtkPExodusReader();
00122   ~vtkPExodusReader();
00123 
00124 //begin USE_EXO_DSP_FILTERS
00125   void GetDSPOutputArrays(int exoid, vtkUnstructuredGrid* output);
00126 //end USE_EXO_DSP_FILTERS
00127 
00129 
00130   int DeterminePattern(const char* file);
00131   static int DetermineFileId(const char* file);
00133 
00134   // This method sets up a ugrid with
00135   // all meta data but zero cells
00136   void SetUpEmptyGrid();
00137 
00138   // **KEN** Previous discussions concluded with std classes in header
00139   // files is bad.  Perhaps we should change readerList.
00140 
00141   char* FilePattern;
00142   char* CurrentFilePattern;
00143   char* FilePrefix;
00144   char* CurrentFilePrefix;
00145   char* MultiFileName;
00146   int FileRange[2];
00147   int CurrentFileRange[2];
00148   int NumberOfFiles;
00149   char **FileNames;
00150   int NumberOfFileNames;
00151   int GenerateFileIdArray;
00152 //BTX
00153   vtkstd::vector<vtkExodusReader*> readerList;
00154 //ETX
00155 
00156   int Timing;
00157   vtkTimerLog *TimerLog;
00158 
00159   int RequestInformation(
00160     vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00161   int RequestData(
00162     vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00163 
00164 private:
00165   vtkPExodusReader(const vtkPExodusReader&); // Not implemented
00166   void operator=(const vtkPExodusReader&); // Not implemented
00167 };
00168 
00169 #endif

Generated on Mon Jan 21 23:07:27 2008 for VTK by  doxygen 1.4.3-20050530