vtkMetaReader.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: ParaView
4  Module: vtkMetaReader.h
5 
6  Copyright (c) Kitware, Inc.
7  All rights reserved.
8  See Copyright.txt or http://www.paraview.org/HTML/Copyright.html 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 =========================================================================*/
15 
25 #ifndef vtkMetaReader_h
26 #define vtkMetaReader_h
27 
28 #include "vtkDataObjectAlgorithm.h"
29 #include "vtkPVVTKExtensionsIOCoreModule.h" //needed for exports
30 
31 #include <string> // for std::string
32 
34 {
35 public:
36  static vtkMetaReader* New();
38 
39  vtkMetaReader();
40  ~vtkMetaReader() override;
41 
43 
46  vtkSetObjectMacro(Reader, vtkAlgorithm);
47  vtkGetObjectMacro(Reader, vtkAlgorithm);
49 
51 
56  void SetMetaFileName(const char* name)
57  {
58  Set_MetaFileName(name);
59  this->MetaFileNameMTime = this->vtkDataObjectAlgorithm::GetMTime();
60  }
61  char* GetMetaFileName() { return Get_MetaFileName(); }
63 
65 
69  vtkGetVector2Macro(FileIndexRange, vtkIdType);
71 
73 
76  vtkIdType GetFileIndex() { return this->Get_FileIndex(); }
78  {
79  this->Set_FileIndex(i);
80  this->FileIndexMTime = this->vtkDataObjectAlgorithm::GetMTime();
81  }
83 
87  vtkMTimeType GetMTime() override;
88 
90 
94  vtkSetStringMacro(FileNameMethod);
95  vtkGetStringMacro(FileNameMethod);
97 
98  void PrintSelf(ostream& os, vtkIndent indent) override;
99 
100 protected:
102 
103  vtkSetStringMacro(_MetaFileName);
104  vtkGetStringMacro(_MetaFileName);
105 
106  vtkSetMacro(_FileIndex, vtkIdType);
107  vtkGetMacro(_FileIndex, vtkIdType);
108 
109  void ReaderSetFileName(const char* filename);
110  int ReaderCanReadFile(const char* filename);
111 
118  std::string FromRelativeToMetaFile(const char* metaFileName, const char* fileName);
119 
120 protected:
121  // Reader that handles requests for the meta-reader
123  // Reader modification time after changing the Reader's FileName
124  // Used to ignore changing the FileName for the reader when reporting MTime
126  // Reader modification time before changing the Reader's FileName
127  // Used to ignore changing the FileName for the reader when reporting MTime
129  // Method name used to set the file name for the Reader
131  // The index of the file to read.
134  // Range for the file index
135  vtkIdType FileIndexRange[2];
136 
137  // File name for the meta-reader
139  // File name modification time
142 
146 
147 private:
148  vtkMetaReader(const vtkMetaReader&) = delete;
149  void operator=(const vtkMetaReader&) = delete;
150 };
152 
153 #endif
vtkMTimeType MetaFileNameMTime
#define VTKPVVTKEXTENSIONSIOCORE_EXPORT
static vtkDataObjectAlgorithm * New()
vtkMTimeType FileNameMTime
void SetFileIndex(vtkIdType i)
Get/set the index of the file to read.
Definition: vtkMetaReader.h:77
void SetMetaFileName(const char *name)
Get/set the filename for the meta-file.
Definition: vtkMetaReader.h:56
info
int vtkIdType
vtkTypeUInt64 vtkMTimeType
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
char * GetMetaFileName()
Get/set the filename for the meta-file.
Definition: vtkMetaReader.h:61
char * _MetaFileName
vtkMTimeType FileIndexMTime
char * FileNameMethod
virtual vtkMTimeType GetMTime()
vtkMTimeType BeforeFileNameMTime
Common functionality for meta-readers.
Definition: vtkMetaReader.h:33
vtkAlgorithm * Reader
vtkTimeStamp MetaFileReadTime
Records the time when the meta-file was read.
port
vtkIdType GetFileIndex()
Get/set the index of the file to read.
Definition: vtkMetaReader.h:76
vtkIdType _FileIndex
void operator=(const vtkObjectBase &)
virtual int FillOutputPortInformation(int port, vtkInformation *info)