00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
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
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&);
00132
void operator=(
const vtkPOPReader&);
00133 };
00134
00135
#endif
00136
00137