79#ifndef vtkTemporalAlgorithm_h
80#define vtkTemporalAlgorithm_h
83#include "vtkCommonExecutionModelModule.h"
86VTK_ABI_NAMESPACE_BEGIN
92template <
class AlgorithmT>
109 static_assert(std::is_base_of<vtkAlgorithm, AlgorithmT>::value,
110 "Template argument must inherit vtkAlgorithm");
215#define vtkCreateWrappedTemporalAlgorithmInterface() \
216 static const char* TimeStepsArrayName(); \
219 int GetCurrentTimeIndex() const; \
220 double GetCurrentTimeStep() const; \
221 bool IntegrateFullTimeSeries; \
225#include "vtkTemporalAlgorithm.txx"
dynamic, self-adjusting array of double
Allocate and hold a VTK object.
Base class for temporal algorithms.
virtual void Initialize()
bool NoPriorTimeStepAccess
When true, the algorithm calls Finalize at each iteration.
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 ...
int RequestUpdateTime(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
double GetCurrentTimeStep() const
Returns the current time step being executed (or finalized).
virtual int Finalize(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)=0
Method that converts the temporal cache into the outputs.
int RequestInformation(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkNew< vtkDoubleArray > ProcessedTimeSteps
Array only used when the information key NO_PRIOR_TEMPORAL_ACCESS() is set.
int CurrentTimeIndex
When the information key NO_PRIOR_TEMPORAL_ACCESS() is not set on the input port, this is used to kee...
int TerminationTimeIndex
When the information key NO_PRIOR_TEMPORAL_ACCESS() is not set on the input port, this is used to kee...
bool MustContinue() const
Returns true if there are time steps missing that must be requested upstream.
int RequestUpdateExtent(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
vtkTemplateTypeMacro(vtkTemporalAlgorithm, AlgorithmT)
bool RunBackward
When turned on, time steps will be requested backward upstream.
int GetCurrentTimeIndex() const
Returns the current time index being executed (or finalized).
bool IntegrateFullTimeSeries
To be set in the constructon.
bool MustReset() const
Returns true if the cache must be reinitialized before executing the current time step.