00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkInterpolateDataSetAttributes.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 =========================================================================*/ 00046 #ifndef __vtkInterpolateDataSetAttributes_h 00047 #define __vtkInterpolateDataSetAttributes_h 00048 00049 #include "vtkDataSetToDataSetFilter.h" 00050 00051 class vtkDataSetCollection; 00052 00053 class VTK_GRAPHICS_EXPORT vtkInterpolateDataSetAttributes : public vtkDataSetToDataSetFilter 00054 { 00055 public: 00056 static vtkInterpolateDataSetAttributes *New(); 00057 vtkTypeRevisionMacro(vtkInterpolateDataSetAttributes,vtkDataSetToDataSetFilter); 00058 void PrintSelf(ostream& os, vtkIndent indent); 00059 00061 void AddInput(vtkDataSet *in); 00062 00064 vtkDataSetCollection *GetInputList(); 00065 00067 00068 vtkSetClampMacro(T,double,0.0,VTK_DOUBLE_MAX); 00069 vtkGetMacro(T,double); 00071 00072 protected: 00073 vtkInterpolateDataSetAttributes(); 00074 ~vtkInterpolateDataSetAttributes(); 00075 00076 virtual void ReportReferences(vtkGarbageCollector*); 00077 virtual void RemoveReferences(); 00078 00079 void Execute(); 00080 00081 vtkDataSetCollection *InputList; // list of data sets to interpolate 00082 double T; // interpolation parameter 00083 00084 private: 00085 // hide the superclass' AddInput() from the user and the compiler 00086 void AddInput(vtkDataObject *) 00087 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); }; 00088 void RemoveInput(vtkDataObject *input) 00089 { this->vtkProcessObject::RemoveInput(input); }; 00090 private: 00091 vtkInterpolateDataSetAttributes(const vtkInterpolateDataSetAttributes&); // Not implemented. 00092 void operator=(const vtkInterpolateDataSetAttributes&); // Not implemented. 00093 }; 00094 00095 #endif 00096 00097