VTK
vtkXdmfReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkXdmfReader.h
5  Language: C++
6 
7  Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
8  All rights reserved.
9  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
10 
11  This software is distributed WITHOUT ANY WARRANTY; without even
12  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
13  PURPOSE. See the above copyright notice for more information.
14 
15 =========================================================================*/
39 #ifndef vtkXdmfReader_h
40 #define vtkXdmfReader_h
41 
42 #include "vtkIOXdmf2Module.h" // For export macro
43 #include "vtkDataReader.h"
44 #include <map> // for caching
45 
47 class vtkXdmfDocument;
48 class vtkGraph;
49 
51 {
52 public:
53  static vtkXdmfReader* New();
55  void PrintSelf(ostream& os, vtkIndent indent);
56 
57  // Until needed, multiple domains are not supported.
62  //unsigned int GetNumberOfDomains();
63 
65 
71  vtkSetStringMacro(DomainName);
72  vtkGetStringMacro(DomainName);
74 
78  // vtkGetStringMacro(ActiveDomainName);
79 
84 
87  const char* GetPointArrayName(int index);
88 
90 
91  int GetPointArrayStatus(const char* name);
92  void SetPointArrayStatus(const char* name, int status);
94 
96 
100  const char* GetCellArrayName(int index);
101  void SetCellArrayStatus(const char* name, int status);
102  int GetCellArrayStatus(const char* name);
104 
106 
110  const char* GetGridName(int index);
111  void SetGridStatus(const char* gridname, int status);
112  int GetGridStatus(const char* gridname);
114 
116 
121  const char* GetSetName(int index);
122  void SetSetStatus(const char* gridname, int status);
123  int GetSetStatus(const char* gridname);
125 
127 
129  int GetNumberOfSetArrays() { return this->GetNumberOfSets(); }
130  const char* GetSetArrayName(int index)
131  { return this->GetSetName(index); }
132  int GetSetArrayStatus(const char* name)
133  { return this->GetSetStatus(name); }
135 
137 
139  vtkSetVector3Macro(Stride, int);
140  vtkGetVector3Macro(Stride, int);
142 
144  virtual int CanReadFile(const char* filename);
145 
147 
148  vtkGetMacro(SILUpdateStamp, int);
150 
153  virtual vtkGraph* GetSIL();
154 
155 //BTX
157  {
158  public:
159  XdmfDataSetTopoGeoPath() : dataset(0), topologyPath(), geometryPath() {}
163  };
164 
165  typedef std::map<int, XdmfDataSetTopoGeoPath> XdmfReaderCachedData;
166 
169 
170 protected:
173 
174  virtual int ProcessRequest(vtkInformation *request,
175  vtkInformationVector **inputVector,
176  vtkInformationVector *outputVector);
177  virtual int RequestDataObject(vtkInformationVector *outputVector);
183 
189 
190  char* DomainName;
191  // char* ActiveDomainName;
192  int Stride[3];
193  unsigned int LastTimeIndex;
194 
196 
197  // Until RequestInformation() is called, the active domain is not set
198  // correctly. If SetGridStatus() etc. are called before that happens, then we
199  // have no place to save the user choices. So we cache them in these temporary
200  // caches. These are passed on to the actual vtkXdmfArraySelection instances
201  // used by the active vtkXdmfDomain in RequestInformation().
202  // Note that these are only used until the first domain is setup, once that
203  // happens, the information set in these is passed to the domain and these
204  // are cleared an no longer used, until the active domain becomes invalid
205  // again.
210 
212 
214 
215 private:
217  bool PrepareDocument();
218 
219  void ClearDataSetCache();
220 
223  int ChooseTimeStep(vtkInformation* outInfo);
224 
225 private:
226  vtkXdmfReader(const vtkXdmfReader&); // Not implemented
227  void operator=(const vtkXdmfReader&); // Not implemented
228 //ETX
229 };
230 
231 #endif
vtkXdmfReader::GridsCache
vtkXdmfArraySelection * GridsCache
Definition: vtkXdmfReader.h:208
vtkXdmfReader::RequestData
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkXdmfReader::GetPointArrayName
const char * GetPointArrayName(int index)
vtkXdmfReader::GetNumberOfPointArrays
int GetNumberOfPointArrays()
vtkXdmfReader::GetSetsSelection
vtkXdmfArraySelection * GetSetsSelection()
vtkIOXdmf2Module.h
vtkXdmfReader::XdmfReaderCachedData
std::map< int, XdmfDataSetTopoGeoPath > XdmfReaderCachedData
Definition: vtkXdmfReader.h:165
vtkXdmfReader::GetPointArrayStatus
int GetPointArrayStatus(const char *name)
vtkXdmfReader::LastTimeIndex
unsigned int LastTimeIndex
Definition: vtkXdmfReader.h:193
VTKIOXDMF2_EXPORT
#define VTKIOXDMF2_EXPORT
Definition: vtkIOXdmf2Module.h:15
vtkSetVector3Macro
#define vtkSetVector3Macro(name, type)
Definition: vtkSetGet.h:287
vtkDataReader
helper superclass for objects that read vtk data files
Definition: vtkDataReader.h:49
vtkXdmfReader::RequestDataObject
virtual int RequestDataObject(vtkInformationVector *outputVector)
vtkXdmfReader::vtkXdmfReader
vtkXdmfReader()
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkXdmfReader::PointArraysCache
vtkXdmfArraySelection * PointArraysCache
Definition: vtkXdmfReader.h:206
vtkXdmfReader::XdmfDocument
vtkXdmfDocument * XdmfDocument
Definition: vtkXdmfReader.h:195
vtkTypeMacro
#define vtkTypeMacro(thisClass, superclass)
Definition: vtkSetGet.h:642
vtkXdmfReader::GetSIL
virtual vtkGraph * GetSIL()
vtkXdmfReader::XdmfDataSetTopoGeoPath
Definition: vtkXdmfReader.h:157
vtkXdmfReader::SetGridStatus
void SetGridStatus(const char *gridname, int status)
vtkXdmfReader::GetGridStatus
int GetGridStatus(const char *gridname)
vtkXdmfReader::GetPointArraySelection
vtkXdmfArraySelection * GetPointArraySelection()
vtkXdmfReader::PassCachedSelections
void PassCachedSelections()
vtkXdmfReader::GetDataSetCache
XdmfReaderCachedData & GetDataSetCache()
vtkXdmfReader::GetNumberOfGrids
int GetNumberOfGrids()
vtkX3D::port
@ port
Definition: vtkX3D.h:447
vtkgl::name
GLuint const GLchar * name
Definition: vtkgl.h:11983
vtkXdmfReader::FillOutputPortInformation
virtual int FillOutputPortInformation(int port, vtkInformation *info)
vtkXdmfArraySelection
Definition: vtkXdmfReaderInternal.h:123
vtkDataReader.h
vtkXdmfReader::GetCellArrayStatus
int GetCellArrayStatus(const char *name)
vtkGetVector3Macro
#define vtkGetVector3Macro(name, type)
Definition: vtkSetGet.h:304
vtkXdmfReader::GetGridSelection
vtkXdmfArraySelection * GetGridSelection()
vtkXdmfReader::GetSetName
const char * GetSetName(int index)
vtkXdmfReader::DomainName
char * DomainName
Definition: vtkXdmfReader.h:190
vtkXdmfReader::CanReadFile
virtual int CanReadFile(const char *filename)
vtkXdmfReader::SetCellArrayStatus
void SetCellArrayStatus(const char *name, int status)
vtkXdmfDocument
Definition: vtkXdmfReaderInternal.h:65
vtkXdmfReader::SILUpdateStamp
int SILUpdateStamp
Definition: vtkXdmfReader.h:211
vtkXdmfReader
Reads eXtensible Data Model and Format files.
Definition: vtkXdmfReader.h:51
vtkXdmfReader::GetCellArrayName
const char * GetCellArrayName(int index)
vtkXdmfReader::GetSetStatus
int GetSetStatus(const char *gridname)
vtkXdmfReader::GetSetArrayName
const char * GetSetArrayName(int index)
Definition: vtkXdmfReader.h:130
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkSetStringMacro
#define vtkSetStringMacro(name)
Definition: vtkSetGet.h:104
vtkXdmfReader::GetNumberOfCellArrays
int GetNumberOfCellArrays()
vtkXdmfReader::DataSetCache
XdmfReaderCachedData DataSetCache
Definition: vtkXdmfReader.h:213
vtkGetMacro
#define vtkGetMacro(name, type)
Definition: vtkSetGet.h:93
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
vtkXdmfReader::XdmfDataSetTopoGeoPath::dataset
vtkDataSet * dataset
Definition: vtkXdmfReader.h:160
vtkXdmfReader::SetSetStatus
void SetSetStatus(const char *gridname, int status)
vtkXdmfReader::CellArraysCache
vtkXdmfArraySelection * CellArraysCache
Definition: vtkXdmfReader.h:207
vtkDataSet
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
vtkXdmfReader::RequestInformation
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkX3D::info
@ info
Definition: vtkX3D.h:376
vtkgl::index
GLuint index
Definition: vtkgl.h:11983
vtkXdmfReader::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent)
vtkXdmfReader::GetCellArraySelection
vtkXdmfArraySelection * GetCellArraySelection()
vtkXdmfReader::GetNumberOfSetArrays
int GetNumberOfSetArrays()
Definition: vtkXdmfReader.h:129
vtkXdmfReader::ProcessRequest
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkXdmfReader::SetsCache
vtkXdmfArraySelection * SetsCache
Definition: vtkXdmfReader.h:209
vtkXdmfReader::GetNumberOfSets
int GetNumberOfSets()
vtkXdmfReader::SetPointArrayStatus
void SetPointArrayStatus(const char *name, int status)
vtkXdmfReader::GetSetArrayStatus
int GetSetArrayStatus(const char *name)
Definition: vtkXdmfReader.h:132
vtkGraph
Base class for graph data types.
Definition: vtkGraph.h:289
vtkXdmfReader::GetGridName
const char * GetGridName(int index)
vtkXdmfReader::New
static vtkXdmfReader * New()
vtkgl::string
GLsizei const GLchar ** string
Definition: vtkgl.h:12011
vtkXdmfReader::~vtkXdmfReader
~vtkXdmfReader()
vtkXdmfReader::XdmfDataSetTopoGeoPath::XdmfDataSetTopoGeoPath
XdmfDataSetTopoGeoPath()
Definition: vtkXdmfReader.h:159
vtkXdmfReader::XdmfDataSetTopoGeoPath::geometryPath
std::string geometryPath
Definition: vtkXdmfReader.h:162
vtkXdmfReader::XdmfDataSetTopoGeoPath::topologyPath
std::string topologyPath
Definition: vtkXdmfReader.h:161