VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkPOPReader.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 =========================================================================*/ 00021 #ifndef __vtkPOPReader_h 00022 #define __vtkPOPReader_h 00023 00024 #include "vtkStructuredGridAlgorithm.h" 00025 00026 class vtkFloatArray; 00027 class vtkImageData; 00028 class vtkPoints; 00029 00030 class VTK_PARALLEL_EXPORT vtkPOPReader : public vtkStructuredGridAlgorithm 00031 { 00032 public: 00033 static vtkPOPReader *New(); 00034 vtkTypeMacro(vtkPOPReader,vtkStructuredGridAlgorithm); 00035 void PrintSelf(ostream& os, vtkIndent indent); 00036 00038 00039 vtkGetVector2Macro(Dimensions, int); 00041 00043 00045 vtkGetStringMacro(GridFileName); 00047 00049 00050 vtkGetStringMacro(UFlowFileName); 00051 vtkGetStringMacro(VFlowFileName); 00053 00055 00056 vtkSetStringMacro(FileName); 00057 vtkGetStringMacro(FileName); 00059 00061 00062 vtkSetMacro(Radius, double); 00063 vtkGetMacro(Radius, double); 00065 00067 00069 vtkSetVector6Macro(ClipExtent, int); 00070 vtkGetVector6Macro(ClipExtent, int); 00072 00074 00075 vtkSetMacro(NumberOfGhostLevels, int); 00076 vtkGetMacro(NumberOfGhostLevels, int); 00078 00079 protected: 00080 vtkPOPReader(); 00081 ~vtkPOPReader(); 00082 00083 virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00084 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00085 00086 void ReadInformationFile(); 00087 vtkPoints *ReadPoints(vtkImageData *image, vtkInformation *outInfo); 00088 void ReadFlow(vtkStructuredGrid *output, vtkInformation *outInfo); 00089 // NOT USED 00090 vtkPoints *GeneratePoints(); 00091 00092 char *FileName; 00093 00094 int Dimensions[2]; 00095 vtkSetStringMacro(GridFileName); 00096 void SetGridName(char *name); 00097 char *GridFileName; 00098 00099 double Radius; 00100 vtkFloatArray *DepthValues; 00101 int NumberOfGhostLevels; 00102 00103 void DeleteArrays(); 00104 void AddArray(char *arrayName, char *fileName, unsigned long offset); 00105 void AddArrayName(char *arrayName, char *fileName, unsigned long offset); 00106 int NumberOfArrays; 00107 int MaximumNumberOfArrays; 00108 char **ArrayNames; 00109 char **ArrayFileNames; 00110 unsigned long *ArrayOffsets; 00111 int ArrayFileDimensionality; 00112 00113 char *UFlowFileName; 00114 vtkSetStringMacro(UFlowFileName); 00115 unsigned long UFlowFileOffset; 00116 char *VFlowFileName; 00117 vtkSetStringMacro(VFlowFileName); 00118 unsigned long VFlowFileOffset; 00119 00120 int IsFileName(char *name); 00121 char *MakeFileName(char *name); 00122 00123 int ClipExtent[6]; 00124 00125 vtkPOPReader(const vtkPOPReader&); // Not implemented 00126 void operator=(const vtkPOPReader&); // Not implemented 00127 }; 00128 00129 #endif