VTK
vtkPOPReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPOPReader.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
21 #ifndef __vtkPOPReader_h
22 #define __vtkPOPReader_h
23 
25 
26 class vtkFloatArray;
27 class vtkImageData;
28 class vtkPoints;
29 
31 {
32 public:
33  static vtkPOPReader *New();
35  void PrintSelf(ostream& os, vtkIndent indent);
36 
38 
39  vtkGetVector2Macro(Dimensions, int);
41 
43 
45  vtkGetStringMacro(GridFileName);
47 
49 
50  vtkGetStringMacro(UFlowFileName);
51  vtkGetStringMacro(VFlowFileName);
53 
55 
56  vtkSetStringMacro(FileName);
57  vtkGetStringMacro(FileName);
59 
61 
62  vtkSetMacro(Radius, double);
63  vtkGetMacro(Radius, double);
65 
67 
69  vtkSetVector6Macro(ClipExtent, int);
70  vtkGetVector6Macro(ClipExtent, int);
72 
74 
75  vtkSetMacro(NumberOfGhostLevels, int);
76  vtkGetMacro(NumberOfGhostLevels, int);
78 
79 protected:
80  vtkPOPReader();
81  ~vtkPOPReader();
82 
85 
86  void ReadInformationFile();
87  vtkPoints *ReadPoints(vtkImageData *image, vtkInformation *outInfo);
88  void ReadFlow(vtkStructuredGrid *output, vtkInformation *outInfo);
89  // NOT USED
90  vtkPoints *GeneratePoints();
91 
92  char *FileName;
93 
94  int Dimensions[2];
95  vtkSetStringMacro(GridFileName);
96  void SetGridName(char *name);
97  char *GridFileName;
98 
99  double Radius;
102 
103  void DeleteArrays();
104  void AddArray(char *arrayName, char *fileName, unsigned long offset);
105  void AddArrayName(char *arrayName, char *fileName, unsigned long offset);
108  char **ArrayNames;
109  char **ArrayFileNames;
110  unsigned long *ArrayOffsets;
112 
114  vtkSetStringMacro(UFlowFileName);
115  unsigned long UFlowFileOffset;
117  vtkSetStringMacro(VFlowFileName);
118  unsigned long VFlowFileOffset;
119 
120  int IsFileName(char *name);
121  char *MakeFileName(char *name);
122 
123  int ClipExtent[6];
124 
125  vtkPOPReader(const vtkPOPReader&); // Not implemented
126  void operator=(const vtkPOPReader&); // Not implemented
127 };
128 
129 #endif