VTK
dox/Graphics/vtkAppendFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkAppendFilter.h
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 =========================================================================*/
00032 #ifndef __vtkAppendFilter_h
00033 #define __vtkAppendFilter_h
00034 
00035 #include "vtkUnstructuredGridAlgorithm.h"
00036 
00037 class vtkDataSetCollection;
00038 
00039 class VTK_GRAPHICS_EXPORT vtkAppendFilter : public vtkUnstructuredGridAlgorithm
00040 {
00041 public:
00042   static vtkAppendFilter *New();
00043 
00044   vtkTypeMacro(vtkAppendFilter,vtkUnstructuredGridAlgorithm);
00045   void PrintSelf(ostream& os, vtkIndent indent);
00046 
00047 //BTX
00049 
00050   vtkDataSet *GetInput(int idx);
00051   vtkDataSet *GetInput() 
00052     {return this->GetInput( 0 );}
00053 //ETX
00055 
00057 
00060   vtkGetMacro(MergePoints,int);
00062 
00064 
00067   vtkSetMacro(MergePoints,int);
00069 
00070   vtkBooleanMacro(MergePoints,int);
00071 
00073   void RemoveInput(vtkDataSet *in);
00074 
00077   vtkDataSetCollection *GetInputList();
00078 
00079 protected:
00080   vtkAppendFilter();
00081   ~vtkAppendFilter();
00082 
00083   // Usual data generation method
00084   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00085 
00086   virtual int FillInputPortInformation(int port, vtkInformation *info);
00087   
00089 
00094   int     AppendBlocksWithPointLocator( vtkInformationVector ** inputVector,
00095                                         vtkInformationVector  * outputVector );
00097   
00098 
00099   // list of data sets to append together.
00100   // Here as a convenience.  It is a copy of the input array.
00101   vtkDataSetCollection *InputList;
00102 
00103   //If true we will attempt to merge points. Must also not have
00104   //ghost cells defined.
00105   int MergePoints;
00106 
00107 private:
00108   vtkAppendFilter(const vtkAppendFilter&);  // Not implemented.
00109   void operator=(const vtkAppendFilter&);  // Not implemented.
00110 };
00111 
00112 
00113 #endif
00114 
00115