VTK  9.3.20240304
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);
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 
103  vtkInformationVector* outputVector) override;
104  int RequestData(vtkInformation* request, vtkInformationVector** inputVector,
105  vtkInformationVector* outputVector) override;
106 
114 
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
reads in delimited ascii or unicode text files and outputs a vtkTable data structure.
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
reads a delimited ascii or unicode text files and and output a temporal vtkTable.
vtkMTimeType GetMTime() override
Internal fields of this reader use a specific MTime (InternalMTime).
static vtkTemporalDelimitedTextReader * New()
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
In order to fill the TIME_STEPS and TIME_RANGE keys, this method call the ReadData function that actu...
void SetRemoveTimeStepColumn(bool rts)
Set the RemoveTimeStepColumn flag If this boolean is true, the output will not contain the Time step ...
~vtkTemporalDelimitedTextReader() override=default
std::map< double, std::vector< vtkIdType > > TimeMap
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called by the superclass.
bool EnforceColumnName()
This function checks if a user specified column has been set and check if this input is valid.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
void InternalModified()
When parameters specific of this reader are modified, we do not want to re-read the input file.
void SetTimeColumnName(std::string name)
Get/Set the name of the column to use as time indicator.
void SetTimeColumnId(int idx)
Get/Set the column to use as time indicator.
record modification and/or execution time
Definition: vtkTimeStamp.h:44
@ name
Definition: vtkX3D.h:219
@ string
Definition: vtkX3D.h:490
int vtkIdType
Definition: vtkType.h:315
vtkTypeUInt32 vtkMTimeType
Definition: vtkType.h:270