VTK
vtkTemporalInterpolator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkTemporalInterpolator.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
58 #ifndef vtkTemporalInterpolator_h
59 #define vtkTemporalInterpolator_h
60 
61 #include "vtkFiltersHybridModule.h" // For export macro
63 
64 class vtkDataSet;
65 class VTKFILTERSHYBRID_EXPORT vtkTemporalInterpolator : public vtkMultiTimeStepAlgorithm
66 {
67 public:
68  static vtkTemporalInterpolator *New();
70  void PrintSelf(ostream& os, vtkIndent indent);
71 
73 
82  vtkSetMacro(DiscreteTimeStepInterval, double);
83  vtkGetMacro(DiscreteTimeStepInterval, double);
85 
87 
96  vtkSetMacro(ResampleFactor, int);
97  vtkGetMacro(ResampleFactor, int);
99 
101 
105  vtkSetMacro(CacheData, bool);
106  vtkGetMacro(CacheData, bool);
108 
109 protected:
112 
113 
116 
118  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
119 
120 
121  virtual int RequestDataObject(vtkInformation *,
124 
125  virtual int RequestUpdateExtent(vtkInformation *,
128  virtual int RequestInformation(vtkInformation *,
131 
132  virtual int RequestData(vtkInformation *,
135 
140  vtkDataObject *InterpolateDataObject(vtkDataObject *in1,
141  vtkDataObject *in2,
142  double ratio);
143 
149  virtual vtkDataSet *InterpolateDataSet(vtkDataSet *in1,
150  vtkDataSet *in2,
151  double ratio);
152 
157  virtual vtkDataArray *InterpolateDataArray(double ratio,
158  vtkDataArray **arrays,
159  vtkIdType N);
160 
165  virtual bool VerifyArrays(vtkDataArray **arrays, int N);
166 
167  // internally used : Ratio is {0,1} between two time steps
168  // DeltaT is time between current 2 steps.
169  // These are only valid when 2 time steps are interpolated
170  // Higher order schemes will require changes to the API
171  double Ratio;
172  double DeltaT;
173  double Tfrac;
174 
175 private:
176  vtkTemporalInterpolator(const vtkTemporalInterpolator&) VTK_DELETE_FUNCTION;
177  void operator=(const vtkTemporalInterpolator&) VTK_DELETE_FUNCTION;
178 };
179 
180 
181 
182 #endif
183 
184 
185 
Store vtkAlgorithm input/output information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
static vtkMultiTimeStepAlgorithm * New()
int vtkIdType
Definition: vtkType.h:287
interpolate datasets between time steps to produce a new dataset
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Fill the output port information objects for this algorithm.
a simple class to control print indentation
Definition: vtkIndent.h:39
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:54
Superclass for algorithms that would like to make multiple time requests.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
virtual int FillInputPortInformation(int port, vtkInformation *info)
Fill the input port information objects for this algorithm.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called by the superclass.
general representation of visualization data
Definition: vtkDataObject.h:64