VTK
dox/Filters/Core/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 "vtkFiltersCoreModule.h" // For export macro
00036 #include "vtkUnstructuredGridAlgorithm.h"
00037 
00038 class vtkDataSetCollection;
00039 
00040 class VTKFILTERSCORE_EXPORT vtkAppendFilter : public vtkUnstructuredGridAlgorithm
00041 {
00042 public:
00043   static vtkAppendFilter *New();
00044 
00045   vtkTypeMacro(vtkAppendFilter,vtkUnstructuredGridAlgorithm);
00046   void PrintSelf(ostream& os, vtkIndent indent);
00047 
00048 //BTX
00050 
00051   vtkDataSet *GetInput(int idx);
00052   vtkDataSet *GetInput()
00053     {return this->GetInput( 0 );}
00054 //ETX
00056 
00058 
00061   vtkGetMacro(MergePoints,int);
00063 
00065 
00068   vtkSetMacro(MergePoints,int);
00070 
00071   vtkBooleanMacro(MergePoints,int);
00072 
00074   void RemoveInputData(vtkDataSet *in);
00075 
00078   vtkDataSetCollection *GetInputList();
00079 
00081 
00084   vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION);
00085   vtkGetMacro(OutputPointsPrecision, int);
00087 
00088 protected:
00089   vtkAppendFilter();
00090   ~vtkAppendFilter();
00091 
00092   // Usual data generation method
00093   virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00094 
00095   virtual int FillInputPortInformation(int port, vtkInformation *info);
00096 
00098 
00103   int     AppendBlocksWithPointLocator( vtkInformationVector ** inputVector,
00104                                         vtkInformationVector  * outputVector );
00106 
00107 
00108   // list of data sets to append together.
00109   // Here as a convenience.  It is a copy of the input array.
00110   vtkDataSetCollection *InputList;
00111 
00112   //If true we will attempt to merge points. Must also not have
00113   //ghost cells defined.
00114   int MergePoints;
00115 
00116   int OutputPointsPrecision;
00117 
00118 private:
00119   vtkAppendFilter(const vtkAppendFilter&);  // Not implemented.
00120   void operator=(const vtkAppendFilter&);  // Not implemented.
00121 };
00122 
00123 
00124 #endif
00125 
00126