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