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 =========================================================================*/
57 #ifndef __vtkTemporalInterpolator_h
58 #define __vtkTemporalInterpolator_h
59 
61 
62 class vtkDataSet;
63 
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 
101 /*
102  virtual int FillInputPortInformation(int port, vtkInformation* info);
103 
104  virtual int RequestDataObject(vtkInformation *,
105  vtkInformationVector **,
106  vtkInformationVector *);
107 */
108  virtual int RequestUpdateExtent(vtkInformation *,
111  virtual int RequestInformation(vtkInformation *,
114 
115  virtual int RequestData(vtkInformation *,
118 
120 
122  vtkDataObject *InterpolateDataObject(vtkDataObject *in1,
123  vtkDataObject *in2,
124  double ratio);
126 
128 
131  virtual vtkDataSet *InterpolateDataSet(vtkDataSet *in1,
132  vtkDataSet *in2,
133  double ratio);
135 
137 
139  virtual vtkDataArray *InterpolateDataArray(double ratio,
140  vtkDataArray **arrays,
141  vtkIdType N);
143 
146  virtual bool VerifyArrays(vtkDataArray **arrays, int N);
147 
148  // internally used : Ratio is {0,1} between two time steps
149  // DeltaT is time between current 2 steps.
150  // These are only valid when 2 time steps are interpolated
151  // Higher order schemes will require changes to the API
152  double Ratio;
153  double DeltaT;
154  double Tfrac;
155 
156 private:
157  vtkTemporalInterpolator(const vtkTemporalInterpolator&); // Not implemented.
158  void operator=(const vtkTemporalInterpolator&); // Not implemented.
159 };
160 
161 
162 
163 #endif
164 
165 
166 
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:58
void PrintSelf(ostream &os, vtkIndent indent)
int vtkIdType
Definition: vtkType.h:255
interpolate datasets between time steps to produce a new dataset
a simple class to control print indentation
Definition: vtkIndent.h:37
abstract superclass for arrays of numeric data
Definition: vtkDataArray.h:53
static vtkTemporalDataSetAlgorithm * New()
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
Store zero or more vtkInformation instances.
#define VTK_HYBRID_EXPORT
general representation of visualization data
Definition: vtkDataObject.h:70
Superclass for algorithms that produce only vtkTemporalDataSet as output.