vtkMetaReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-License-Identifier: BSD-3-Clause
3 
13 #ifndef vtkMetaReader_h
14 #define vtkMetaReader_h
15 
16 #include "vtkDataObjectAlgorithm.h"
17 #include "vtkPVVTKExtensionsIOCoreModule.h" //needed for exports
18 
19 #include <string> // for std::string
20 
22 {
23 public:
24  static vtkMetaReader* New();
26 
27  vtkMetaReader();
28  ~vtkMetaReader() override;
29 
31 
34  vtkSetObjectMacro(Reader, vtkAlgorithm);
35  vtkGetObjectMacro(Reader, vtkAlgorithm);
37 
39 
44  void SetMetaFileName(const char* name)
45  {
46  Set_MetaFileName(name);
47  this->MetaFileNameMTime = this->vtkDataObjectAlgorithm::GetMTime();
48  }
49  char* GetMetaFileName() { return Get_MetaFileName(); }
51 
53 
57  vtkGetVector2Macro(FileIndexRange, vtkIdType);
59 
61 
64  vtkIdType GetFileIndex() { return this->Get_FileIndex(); }
66  {
67  this->Set_FileIndex(i);
68  this->FileIndexMTime = this->vtkDataObjectAlgorithm::GetMTime();
69  }
71 
75  vtkMTimeType GetMTime() override;
76 
78 
82  vtkSetStringMacro(FileNameMethod);
83  vtkGetStringMacro(FileNameMethod);
85 
86  void PrintSelf(ostream& os, vtkIndent indent) override;
87 
88 protected:
90 
91  vtkSetStringMacro(_MetaFileName);
92  vtkGetStringMacro(_MetaFileName);
93 
94  vtkSetMacro(_FileIndex, vtkIdType);
95  vtkGetMacro(_FileIndex, vtkIdType);
96 
97  void ReaderSetFileName(const char* filename);
98  int ReaderCanReadFile(const char* filename);
99 
106  std::string FromRelativeToMetaFile(const char* metaFileName, const char* fileName);
107 
108  // Reader that handles requests for the meta-reader
110  // Reader modification time after changing the Reader's FileName
111  // Used to ignore changing the FileName for the reader when reporting MTime
113  // Reader modification time before changing the Reader's FileName
114  // Used to ignore changing the FileName for the reader when reporting MTime
116  // Method name used to set the file name for the Reader
118  // The index of the file to read.
121  // Range for the file index
122  vtkIdType FileIndexRange[2];
123 
124  // File name for the meta-reader
126  // File name modification time
129 
133 
134 private:
135  vtkMetaReader(const vtkMetaReader&) = delete;
136  void operator=(const vtkMetaReader&) = delete;
137 };
139 
140 #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:65
void SetMetaFileName(const char *name)
Get/set the filename for the meta-file.
Definition: vtkMetaReader.h:44
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:49
char * _MetaFileName
vtkMTimeType FileIndexMTime
char * FileNameMethod
virtual vtkMTimeType GetMTime()
vtkMTimeType BeforeFileNameMTime
Common functionality for meta-readers.
Definition: vtkMetaReader.h:21
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:64
vtkIdType _FileIndex
void operator=(const vtkObjectBase &)
virtual int FillOutputPortInformation(int port, vtkInformation *info)