VTK  9.3.1
vtkTemporalDelimitedTextReader.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
29 #ifndef vtkTemporalDelimitedTextReader_h
30 #define vtkTemporalDelimitedTextReader_h
31 
32 #include "vtkDelimitedTextReader.h"
33 
34 #include "vtkIOInfovisModule.h" // module export
35 #include "vtkNew.h" // For ReadTable field
36 
37 #include <map> // To store the TimeMap
38 #include <vector> // To store the TimeMap
39 
40 VTK_ABI_NAMESPACE_BEGIN
41 class VTKIOINFOVIS_EXPORT vtkTemporalDelimitedTextReader : public vtkDelimitedTextReader
42 {
43 public:
46  void PrintSelf(ostream& os, vtkIndent indent) override;
47 
49 
56  vtkGetMacro(TimeColumnName, std::string);
57  void SetTimeColumnName(std::string name);
59 
61 
69  vtkGetMacro(TimeColumnId, int);
70  void SetTimeColumnId(int idx);
72 
74 
79  vtkGetMacro(RemoveTimeStepColumn, bool);
80  void SetRemoveTimeStepColumn(bool rts);
82 
90  vtkMTimeType GetMTime() override;
91 
92 protected:
94  ~vtkTemporalDelimitedTextReader() override = default;
95 
102  int RequestInformation(vtkInformation* request, vtkInformationVector** inputVector,
103  vtkInformationVector* outputVector) override;
104  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
105  vtkInformationVector* outputVector) override;
106 
113  bool EnforceColumnName();
114 
119  void InternalModified();
120 
121  // Time column fields
124  vtkIdType TimeColumnId = -1;
125  bool RemoveTimeStepColumn = true;
126  std::map<double, std::vector<vtkIdType>> TimeMap;
127 
128  // Input file content and update
130  vtkMTimeType LastReadTime = 0;
132 
133 private:
135  void operator=(const vtkTemporalDelimitedTextReader&) = delete;
136 };
137 
138 VTK_ABI_NAMESPACE_END
139 #endif
Store vtkAlgorithm input/output information.
virtual int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270
record modification and/or execution time
Definition: vtkTimeStamp.h:24
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
int vtkIdType
Definition: vtkType.h:315
reads in delimited ascii or unicode text files and outputs a vtkTable data structure.
a simple class to control print indentation
Definition: vtkIndent.h:28
virtual vtkMTimeType GetMTime()
Return this object's modified time.
std::map< double, std::vector< vtkIdType > > TimeMap
reads a delimited ascii or unicode text files and and output a temporal vtkTable. ...
Store zero or more vtkInformation instances.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
static vtkDelimitedTextReader * New()