/*========================================================================= Program: Visualization Toolkit Module: $RCSfile: vtkAppendFilter.h,v $ Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen All rights reserved. See Copyright.txt or http://www.kitware.com/Copyright.htm for details. This software is distributed WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the above copyright notice for more information. =========================================================================*/ // .NAME vtkAppendFilter - appends one or more datasets together into a single unstructured grid // .SECTION Description // vtkAppendFilter is a filter that appends one of more datasets into a single // unstructured grid. All geometry is extracted and appended, but point // attributes (i.e., scalars, vectors, normals, field data, etc.) are extracted // and appended only if all datasets have the point attributes available. // (For example, if one dataset has scalars but another does not, scalars will // not be appended.) // .SECTION See Also // vtkAppendPolyData #ifndef __vtkAppendFilter_h #define __vtkAppendFilter_h #include "vtkUnstructuredGridAlgorithm.h" class vtkDataSetCollection; class VTK_GRAPHICS_EXPORT vtkAppendFilter : public vtkUnstructuredGridAlgorithm { public: static vtkAppendFilter *New(); vtkTypeRevisionMacro(vtkAppendFilter,vtkUnstructuredGridAlgorithm); void PrintSelf(ostream& os, vtkIndent indent); // Description: // Get any input of this filter. //BTX vtkDataSet *GetInput(int idx); vtkDataSet *GetInput() {return this->GetInput( 0 );} //ETX // Description: // Remove a dataset from the list of data to append. void RemoveInput(vtkDataSet *in); // Description: // Returns a copy of the input array. Modifications to this list // will not be reflected in the actual inputs. vtkDataSetCollection *GetInputList(); protected: vtkAppendFilter(); ~vtkAppendFilter(); // Usual data generation method virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); virtual int FillInputPortInformation(int port, vtkInformation *info); // list of data sets to append together. // Here as a convenience. It is a copy of the input array. vtkDataSetCollection *InputList; private: vtkAppendFilter(const vtkAppendFilter&); // Not implemented. void operator=(const vtkAppendFilter&); // Not implemented. }; #endif