27#ifndef vtkFileSeriesHelper_h
28#define vtkFileSeriesHelper_h
32#include "vtkIOCGNSReaderModule.h"
50 typedef bool (*FileNameFunctorType)(
vtkAlgorithm* reader,
const std::string& filename);
98 vtkSetMacro(IgnoreReaderTime,
bool);
99 vtkGetMacro(IgnoreReaderTime,
bool);
100 vtkBooleanMacro(IgnoreReaderTime,
bool);
132 const std::vector<double>&
GetTimeSteps()
const {
return this->AggregatedTimeSteps; }
137 const std::pair<double, double>&
GetTimeRange(
bool* isvalid = NULL)
const
141 *isvalid = this->AggregatedTimeRangeValid;
143 return this->AggregatedTimeRange;
155 vtkGetMacro(PartitionedFiles,
bool);
180 const std::pair<double, double>&
GetTimeRange()
const {
return this->TimeRange; }
181 const std::vector<double>&
GetTimeSteps()
const {
return this->TimeSteps; }
189 std::pair<double, double> TimeRange;
190 std::vector<double> TimeSteps;
205 std::vector<std::string> SplitFiles(
206 const std::vector<std::string>& files,
int piece,
int numPieces)
const;
208 void Broadcast(
int srcRank);
210 std::vector<double> AggregatedTimeSteps;
211 bool AggregatedTimeRangeValid;
212 std::pair<double, double> AggregatedTimeRange;
Superclass for all sources, filters, and sinks in VTK.
Helper class to process file series.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
const std::pair< double, double > & GetTimeRange(bool *isvalid=NULL) const
Returns the time range determined.
void SetController(vtkMultiProcessController *)
Get/Set the parallel controller.
virtual bool ReadMetaFile(const char *metafilename)
Setup file names in the series using a meta-file.
const std::vector< double > & GetTimeSteps() const
Returns the timesteps determined.
void FillTimeInformation(vtkInformation *info) const
Fills up info with information about timesteps and timerange.
void AddFileName(const char *fname)
Specify the set of files that comprise the series.
std::vector< std::string > FileNames
void SetFileNames(const std::vector< std::string > &filenames)
Specify the set of files that comprise the series.
virtual bool UpdateInformation(vtkAlgorithm *reader, const FileNameFunctorType &ftor)
vtkFileSeriesHelper needs to collect information about the nature of the fileseries.
~vtkFileSeriesHelper() override
vtkMultiProcessController * Controller
void RemoveAllFileNames()
Specify the set of files that comprise the series.
static vtkFileSeriesHelper * New()
unsigned int GetNumberOfFiles() const
Get the number of files in the series.
std::vector< std::string > GetActiveFiles(vtkInformation *outInfo) const
Returns the list of files to read on current rank to satisfy the request.
std::vector< vtkTimeInformation > Information
a simple class to control print indentation
Multiprocessing communication superclass.
stream used to pass data across processes using vtkMultiProcessController.
abstract base class for most VTK objects
record modification and/or execution time
vtkTypeUInt32 vtkMTimeType