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 =========================================================================*/
55 #ifndef vtkTemporalInterpolator_h
56 #define vtkTemporalInterpolator_h
57 
58 #include "vtkFiltersHybridModule.h" // For export macro
60 
61 class vtkDataSet;
62 class VTKFILTERSHYBRID_EXPORT vtkTemporalInterpolator : public vtkMultiTimeStepAlgorithm
63 {
64 public:
65  static vtkTemporalInterpolator *New();
67  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
68 
70 
79  vtkSetMacro(DiscreteTimeStepInterval, double);
80  vtkGetMacro(DiscreteTimeStepInterval, double);
82 
84 
93  vtkSetMacro(ResampleFactor, int);
94  vtkGetMacro(ResampleFactor, int);
96 
98 
102  vtkSetMacro(CacheData, bool);
103  vtkGetMacro(CacheData, bool);
105 
106 protected:
108  ~vtkTemporalInterpolator() VTK_OVERRIDE;
109 
110 
111  double DiscreteTimeStepInterval;
112  int ResampleFactor;
113 
114  int FillInputPortInformation(int port, vtkInformation* info) VTK_OVERRIDE;
115  int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info) VTK_OVERRIDE;
116 
117 
118  int RequestDataObject(vtkInformation *,
120  vtkInformationVector *) VTK_OVERRIDE;
121 
122  int RequestUpdateExtent(vtkInformation *,
124  vtkInformationVector *) VTK_OVERRIDE;
125  int RequestInformation(vtkInformation *,
127  vtkInformationVector *) VTK_OVERRIDE;
128 
129  int RequestData(vtkInformation *,
131  vtkInformationVector *) VTK_OVERRIDE;
132 
137  vtkDataObject *InterpolateDataObject(vtkDataObject *in1,
138  vtkDataObject *in2,
139  double ratio);
140 
146  virtual vtkDataSet *InterpolateDataSet(vtkDataSet *in1,
147  vtkDataSet *in2,
148  double ratio);
149 
154  virtual vtkDataArray *InterpolateDataArray(double ratio,
155  vtkDataArray **arrays,
156  vtkIdType N);
157 
162  virtual bool VerifyArrays(vtkDataArray **arrays, int N);
163 
164  // internally used : Ratio is {0,1} between two time steps
165  // DeltaT is time between current 2 steps.
166  // These are only valid when 2 time steps are interpolated
167  // Higher order schemes will require changes to the API
168  double Ratio;
169  double DeltaT;
170  double Tfrac;
171 
172 private:
173  vtkTemporalInterpolator(const vtkTemporalInterpolator&) VTK_DELETE_FUNCTION;
174  void operator=(const vtkTemporalInterpolator&) VTK_DELETE_FUNCTION;
175 };
176 
177 
178 
179 #endif
180 
181 
182 
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:56
static vtkMultiTimeStepAlgorithm * New()
int vtkIdType
Definition: vtkType.h:345
interpolate datasets between time steps to produce a new dataset
a simple class to control print indentation
Definition: vtkIndent.h:33
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:48
Superclass for algorithms that would like to make multiple time requests.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
general representation of visualization data
Definition: vtkDataObject.h:58