82 #ifndef vtkTemporalAlgorithm_h
83 #define vtkTemporalAlgorithm_h
86 #include "vtkCommonExecutionModelModule.h"
89 VTK_ABI_NAMESPACE_BEGIN
95 template <
class AlgorithmT>
113 "Template argument must inherit vtkAlgorithm");
208 VTK_ABI_NAMESPACE_END
210 #define vtkCreateWrappedTemporalAlgorithmInterface() \
211 static const char* TimeStepsArrayName(); \
214 int GetCurrentTimeIndex() const; \
215 double GetCurrentTimeStep() const; \
216 bool IntegrateFullTimeSeries; \
220 #include "vtkTemporalAlgorithm.txx"
virtual int Initialize(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)=0
Method called at first temporal iteration.
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
bool MustContinue() const
Returns true if there are time steps missing that must be requested upstream.
int RequestUpdateTime(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
int GetCurrentTimeIndex() const
Returns the current time index being executed (or finalized).
dynamic, self-adjusting array of double
bool MustReset() const
Returns true if the cache must be reinitialized before executing the current time step...
vtkTemplateTypeMacro(vtkTemporalAlgorithm, AlgorithmT)
Standard methods for instantiation, type information, and printing.
int TerminationTimeIndex
When the information key NO_PRIOR_TEMPORAL_ACCESS() is not set on the input port, this is used to kee...
double GetCurrentTimeStep() const
Returns the current time step being executed (or finalized).
int CurrentTimeIndex
When the information key NO_PRIOR_TEMPORAL_ACCESS() is not set on the input port, this is used to kee...
bool IntegrateFullTimeSeries
To be set in the constructor.
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
virtual int Finalize(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)=0
Method that converts the temporal cache into the outputs.
virtual int Execute(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)=0
Method called at each time step.
std::vector< double > InputTimeSteps
When the information key NO_PRIOR_TEMPORAL_ACCESS() is not set on the input port, this is used to kee...
static const char * TimeStepsArrayName()
When vtkStreamingDemandDrivenPipeline::NO_PRIOR_TEMPORAL_ACCESS() is set, an array with this name is ...
Base class for temporal algorithms.
vtkNew< vtkDoubleArray > ProcessedTimeSteps
Array only used when the information key NO_PRIOR_TEMPORAL_ACCESS() is set.
bool NoPriorTimeStepAccess
When true, the algorithm calls Finalize at each iteration.