VTK
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
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 =========================================================================*/
57 #ifndef __vtkTemporalInterpolator_h
58 #define __vtkTemporalInterpolator_h
59 
60 #include "vtkFiltersHybridModule.h" // For export macro
62 
63 class vtkDataSet;
64 class VTKFILTERSHYBRID_EXPORT vtkTemporalInterpolator : public vtkMultiTimeStepAlgorithm
65 {
66 public:
67  static vtkTemporalInterpolator *New();
69  void PrintSelf(ostream& os, vtkIndent indent);
70 
72 
79  vtkSetMacro(DiscreteTimeStepInterval, double);
80  vtkGetMacro(DiscreteTimeStepInterval, double);
82 
84 
91  vtkSetMacro(ResampleFactor, int);
92  vtkGetMacro(ResampleFactor, int);
94 
95 protected:
98 
99 
102 
103  virtual int FillInputPortInformation(int port, vtkInformation* info);
104  virtual int FillOutputPortInformation(int vtkNotUsed(port), vtkInformation* info);
105 
106 
107  virtual int RequestDataObject(vtkInformation *,
108  vtkInformationVector **,
109  vtkInformationVector *);
110 
111  virtual int RequestUpdateExtent(vtkInformation *,
112  vtkInformationVector **,
113  vtkInformationVector *);
114  virtual int RequestInformation(vtkInformation *,
115  vtkInformationVector **,
116  vtkInformationVector *);
117 
118  virtual int RequestData(vtkInformation *,
119  vtkInformationVector **,
120  vtkInformationVector *);
121 
123 
125  vtkDataObject *InterpolateDataObject(vtkDataObject *in1,
126  vtkDataObject *in2,
127  double ratio);
129 
131 
134  virtual vtkDataSet *InterpolateDataSet(vtkDataSet *in1,
135  vtkDataSet *in2,
136  double ratio);
138 
140 
142  virtual vtkDataArray *InterpolateDataArray(double ratio,
143  vtkDataArray **arrays,
144  vtkIdType N);
146 
149  virtual bool VerifyArrays(vtkDataArray **arrays, int N);
150 
151  // internally used : Ratio is {0,1} between two time steps
152  // DeltaT is time between current 2 steps.
153  // These are only valid when 2 time steps are interpolated
154  // Higher order schemes will require changes to the API
155  double Ratio;
156  double DeltaT;
157  double Tfrac;
158 
159 private:
160  vtkTemporalInterpolator(const vtkTemporalInterpolator&); // Not implemented.
161  void operator=(const vtkTemporalInterpolator&); // Not implemented.
162 };
163 
164 
165 
166 #endif
167 
168 
169 
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestDataObject(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
static vtkMultiTimeStepAlgorithm * New()
interpolate datasets between time steps to produce a new dataset
void PrintSelf(ostream &os, vtkIndent indent)
virtual int FillOutputPortInformation(int port, vtkInformation *info)
Superclass for algorithms that would like to make multiple time requests.
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int FillInputPortInformation(int port, vtkInformation *info)
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
general representation of visualization data
Definition: vtkDataObject.h:64