VTK
|
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