VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkTemporalInterpolator.h,v $ 00005 00006 Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen 00007 All rights reserved. 00008 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00009 00010 This software is distributed WITHOUT ANY WARRANTY; without even 00011 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00012 PURPOSE. See the above copyright notice for more information. 00013 00014 =========================================================================*/ 00045 #ifndef __vtkTemporalInterpolator_h 00046 #define __vtkTemporalInterpolator_h 00047 00048 #include "vtkTemporalDataSetAlgorithm.h" 00049 00050 class vtkDataSet; 00051 00052 class VTK_HYBRID_EXPORT vtkTemporalInterpolator : public vtkTemporalDataSetAlgorithm 00053 { 00054 public: 00055 static vtkTemporalInterpolator *New(); 00056 vtkTypeRevisionMacro(vtkTemporalInterpolator, vtkTemporalDataSetAlgorithm); 00057 void PrintSelf(ostream& os, vtkIndent indent); 00058 00060 00067 vtkSetMacro(DiscreteTimeStepInterval, double); 00068 vtkGetMacro(DiscreteTimeStepInterval, double); 00070 00071 protected: 00072 vtkTemporalInterpolator(); 00073 ~vtkTemporalInterpolator(); 00074 00075 double DiscreteTimeStepInterval; 00076 /* 00077 virtual int FillInputPortInformation(int port, vtkInformation* info); 00078 00079 virtual int RequestDataObject(vtkInformation *, 00080 vtkInformationVector **, 00081 vtkInformationVector *); 00082 */ 00083 virtual int RequestUpdateExtent(vtkInformation *, 00084 vtkInformationVector **, 00085 vtkInformationVector *); 00086 virtual int RequestInformation(vtkInformation *, 00087 vtkInformationVector **, 00088 vtkInformationVector *); 00089 00090 virtual int RequestData(vtkInformation *, 00091 vtkInformationVector **, 00092 vtkInformationVector *); 00093 00095 00097 vtkDataObject *InterpolateDataObject(vtkDataObject *in1, 00098 vtkDataObject *in2, 00099 double ratio); 00101 00103 00106 vtkDataSet *InterpolateDataSet(vtkDataSet *in1, 00107 vtkDataSet *in2, 00108 double ratio); 00110 00112 00114 vtkDataArray *InterpolateDataArray(double ratio, vtkDataArray **arrays, 00115 vtkIdType N); 00117 00120 bool VerifyArrays(vtkDataArray **arrays, int N); 00121 00122 private: 00123 vtkTemporalInterpolator(const vtkTemporalInterpolator&); // Not implemented. 00124 void operator=(const vtkTemporalInterpolator&); // Not implemented. 00125 }; 00126 00127 00128 00129 #endif 00130 00131 00132