00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMergeFilter.h,v $ 00005 Language: C++ 00006 00007 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 00008 All rights reserved. 00009 See Copyright.txt or http://www.kitware.com/Copyright.htm for details. 00010 00011 This software is distributed WITHOUT ANY WARRANTY; without even 00012 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 PURPOSE. See the above copyright notice for more information. 00014 00015 =========================================================================*/ 00034 #ifndef __vtkMergeFilter_h 00035 #define __vtkMergeFilter_h 00036 00037 #include "vtkDataSetToDataSetFilter.h" 00038 00039 class vtkFieldList; 00040 00041 class VTK_GRAPHICS_EXPORT vtkMergeFilter : public vtkDataSetToDataSetFilter 00042 { 00043 public: 00044 static vtkMergeFilter *New(); 00045 vtkTypeRevisionMacro(vtkMergeFilter,vtkDataSetToDataSetFilter); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 00050 void SetGeometry(vtkDataSet *input) {this->SetInput(input);}; 00051 vtkDataSet *GetGeometry() {return this->GetInput();}; 00053 00055 00056 void SetScalars(vtkDataSet *); 00057 vtkDataSet *GetScalars(); 00059 00061 00062 void SetVectors(vtkDataSet *); 00063 vtkDataSet *GetVectors(); 00065 00067 00068 void SetNormals(vtkDataSet *); 00069 vtkDataSet *GetNormals(); 00071 00073 00075 void SetTCoords(vtkDataSet *); 00076 vtkDataSet *GetTCoords(); 00078 00080 00081 void SetTensors(vtkDataSet *); 00082 vtkDataSet *GetTensors(); 00084 00087 void AddField(const char* name, vtkDataSet* input); 00088 00089 protected: 00090 vtkMergeFilter(); 00091 ~vtkMergeFilter(); 00092 00093 // Usual data generation method 00094 void Execute(); 00095 void ComputeInputUpdateExtents(vtkDataObject *data); 00096 00097 vtkFieldList* FieldList; 00098 private: 00099 vtkMergeFilter(const vtkMergeFilter&); // Not implemented. 00100 void operator=(const vtkMergeFilter&); // Not implemented. 00101 }; 00102 00103 #endif 00104 00105