VTK
/Users/kitware/Dashboards/MyTests/VTK_BLD_Release_docs/Utilities/Doxygen/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 
00050   void SetGeometryInputData(vtkDataSet *input) {this->SetInputData(input);};
00051   vtkDataSet *GetGeometry();
00053 
00055 
00057   void SetGeometryConnection(vtkAlgorithmOutput* algOutput)
00058     {
00059       this->SetInputConnection(algOutput);
00060     }
00062 
00064 
00068   void SetScalarsData(vtkDataSet *);
00069   vtkDataSet *GetScalars();
00071 
00073 
00075   void SetScalarsConnection(vtkAlgorithmOutput* algOutput)
00076     {
00077       this->SetInputConnection(1, algOutput);
00078     }
00080 
00082 
00086   void SetVectorsData(vtkDataSet *);
00087   vtkDataSet *GetVectors();
00089 
00091 
00093   void SetVectorsConnection(vtkAlgorithmOutput* algOutput)
00094     {
00095       this->SetInputConnection(2, algOutput);
00096     }
00098 
00100 
00104   void SetNormalsData(vtkDataSet *);
00105   vtkDataSet *GetNormals();
00107 
00109 
00111   void SetNormalsConnection(vtkAlgorithmOutput* algOutput)
00112     {
00113       this->SetInputConnection(3, algOutput);
00114     }
00116 
00118 
00123   void SetTCoordsData(vtkDataSet *);
00124   vtkDataSet *GetTCoords();
00126 
00128 
00130   void SetTCoordsConnection(vtkAlgorithmOutput* algOutput)
00131     {
00132       this->SetInputConnection(4, algOutput);
00133     }
00135 
00137 
00141   void SetTensorsData(vtkDataSet *);
00142   vtkDataSet *GetTensors();
00144 
00146 
00148   void SetTensorsConnection(vtkAlgorithmOutput* algOutput)
00149     {
00150       this->SetInputConnection(5, algOutput);
00151     }
00153 
00156   void AddField(const char* name, vtkDataSet* input);
00157 
00158 protected:
00159   vtkMergeFilter();
00160   ~vtkMergeFilter();
00161 
00162   // Usual data generation method
00163   int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00164   int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *);
00165   int FillInputPortInformation(int port, vtkInformation *info);
00166 
00167   vtkFieldList* FieldList;
00168 private:
00169   vtkMergeFilter(const vtkMergeFilter&);  // Not implemented.
00170   void operator=(const vtkMergeFilter&);  // Not implemented.
00171   };
00172 
00173 #endif
00174 
00175