VTK
dox/Filters/Core/vtkMergeFilter.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkMergeFilter.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 =========================================================================*/
00030 #ifndef __vtkMergeFilter_h
00031 #define __vtkMergeFilter_h
00032 
00033 #include "vtkFiltersCoreModule.h" // For export macro
00034 #include "vtkDataSetAlgorithm.h"
00035 
00036 class vtkFieldList;
00037 
00038 class VTKFILTERSCORE_EXPORT vtkMergeFilter : public vtkDataSetAlgorithm
00039 {
00040 public:
00041   static vtkMergeFilter *New();
00042   vtkTypeMacro(vtkMergeFilter,vtkDataSetAlgorithm);
00043   void PrintSelf(ostream& os, vtkIndent indent);
00044 
00046 
00048   void SetGeometryInputData(vtkDataSet *input) {this->SetInputData(input);};
00049   vtkDataSet *GetGeometry();
00051 
00053 
00055   void SetGeometryConnection(vtkAlgorithmOutput* algOutput)
00056     {
00057       this->SetInputConnection(algOutput);
00058     }
00060 
00062 
00064   void SetScalarsData(vtkDataSet *);
00065   vtkDataSet *GetScalars();
00067 
00069 
00071   void SetScalarsConnection(vtkAlgorithmOutput* algOutput)
00072     {
00073       this->SetInputConnection(1, algOutput);
00074     }
00076 
00078 
00080   void SetVectorsData(vtkDataSet *);
00081   vtkDataSet *GetVectors();
00083 
00085 
00087   void SetVectorsConnection(vtkAlgorithmOutput* algOutput)
00088     {
00089       this->SetInputConnection(2, algOutput);
00090     }
00092 
00094 
00096   void SetNormalsData(vtkDataSet *);
00097   vtkDataSet *GetNormals();
00099 
00101 
00103   void SetNormalsConnection(vtkAlgorithmOutput* algOutput)
00104     {
00105       this->SetInputConnection(3, algOutput);
00106     }
00108 
00110 
00112   void SetTCoordsData(vtkDataSet *);
00113   vtkDataSet *GetTCoords();
00115 
00117 
00119   void SetTCoordsConnection(vtkAlgorithmOutput* algOutput)
00120     {
00121       this->SetInputConnection(4, algOutput);
00122     }
00124 
00126 
00128   void SetTensorsData(vtkDataSet *);
00129   vtkDataSet *GetTensors();
00131 
00133 
00135   void SetTensorsConnection(vtkAlgorithmOutput* algOutput)
00136     {
00137       this->SetInputConnection(5, algOutput);
00138     }
00140 
00143   void AddField(const char* name, vtkDataSet* input);
00144 
00145 protected:
00146   vtkMergeFilter();
00147   ~vtkMergeFilter();
00148 
00149   // Usual data generation method
00150   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00151   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00152   int FillInputPortInformation(int port, vtkInformation *info);
00153 
00154   vtkFieldList* FieldList;
00155 private:
00156   vtkMergeFilter(const vtkMergeFilter&);  // Not implemented.
00157   void operator=(const vtkMergeFilter&);  // Not implemented.
00158   };
00159 
00160 #endif
00161 
00162