00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkAppendFilter.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 =========================================================================*/ 00050 #ifndef __vtkAppendFilter_h 00051 #define __vtkAppendFilter_h 00052 00053 #include "vtkDataSetToUnstructuredGridFilter.h" 00054 00055 class vtkDataSetCollection; 00056 00057 class VTK_GRAPHICS_EXPORT vtkAppendFilter : public vtkDataSetToUnstructuredGridFilter 00058 { 00059 public: 00060 static vtkAppendFilter *New(); 00061 00062 vtkTypeRevisionMacro(vtkAppendFilter,vtkDataSetToUnstructuredGridFilter); 00063 void PrintSelf(ostream& os, vtkIndent indent); 00064 00066 void AddInput(vtkDataSet *in); 00067 00069 00070 vtkDataSet *GetInput(int idx); 00071 vtkDataSet *GetInput() 00072 {return this->GetInput( 0 );} 00074 00076 void RemoveInput(vtkDataSet *in); 00077 00080 vtkDataSetCollection *GetInputList(); 00081 00082 protected: 00083 vtkAppendFilter(); 00084 ~vtkAppendFilter(); 00085 00086 // Usual data generation method 00087 void Execute(); 00088 00089 // list of data sets to append together. 00090 // Here as a convenience. It is a copy of the input array. 00091 vtkDataSetCollection *InputList; 00092 00093 private: 00094 // hide the superclass' AddInput() from the user and the compiler 00095 void AddInput(vtkDataObject *) 00096 { vtkErrorMacro( << "AddInput() must be called with a vtkDataSet not a vtkDataObject."); }; 00097 void RemoveInput(vtkDataObject *input) 00098 { this->vtkProcessObject::RemoveInput(input); }; 00099 private: 00100 vtkAppendFilter(const vtkAppendFilter&); // Not implemented. 00101 void operator=(const vtkAppendFilter&); // Not implemented. 00102 }; 00103 00104 00105 #endif 00106 00107