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 "vtkDataSetAlgorithm.h" 00034 00035 class vtkFieldList; 00036 00037 class VTK_GRAPHICS_EXPORT vtkMergeFilter : public vtkDataSetAlgorithm 00038 { 00039 public: 00040 static vtkMergeFilter *New(); 00041 vtkTypeMacro(vtkMergeFilter,vtkDataSetAlgorithm); 00042 void PrintSelf(ostream& os, vtkIndent indent); 00043 00045 00047 void SetGeometry(vtkDataSet *input) {this->SetInput(input);}; 00048 vtkDataSet *GetGeometry(); 00050 00052 00054 void SetGeometryConnection(vtkAlgorithmOutput* algOutput) 00055 { 00056 this->SetInputConnection(algOutput); 00057 } 00059 00061 00063 void SetScalars(vtkDataSet *); 00064 vtkDataSet *GetScalars(); 00066 00068 00070 void SetScalarsConnection(vtkAlgorithmOutput* algOutput) 00071 { 00072 this->SetInputConnection(1, algOutput); 00073 } 00075 00077 00079 void SetVectors(vtkDataSet *); 00080 vtkDataSet *GetVectors(); 00082 00084 00086 void SetVectorsConnection(vtkAlgorithmOutput* algOutput) 00087 { 00088 this->SetInputConnection(2, algOutput); 00089 } 00091 00093 00095 void SetNormals(vtkDataSet *); 00096 vtkDataSet *GetNormals(); 00098 00100 00102 void SetNormalsConnection(vtkAlgorithmOutput* algOutput) 00103 { 00104 this->SetInputConnection(3, algOutput); 00105 } 00107 00109 00111 void SetTCoords(vtkDataSet *); 00112 vtkDataSet *GetTCoords(); 00114 00116 00118 void SetTCoordsConnection(vtkAlgorithmOutput* algOutput) 00119 { 00120 this->SetInputConnection(4, algOutput); 00121 } 00123 00125 00127 void SetTensors(vtkDataSet *); 00128 vtkDataSet *GetTensors(); 00130 00132 00134 void SetTensorsConnection(vtkAlgorithmOutput* algOutput) 00135 { 00136 this->SetInputConnection(5, algOutput); 00137 } 00139 00142 void AddField(const char* name, vtkDataSet* input); 00143 00144 protected: 00145 vtkMergeFilter(); 00146 ~vtkMergeFilter(); 00147 00148 // Usual data generation method 00149 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00150 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00151 int FillInputPortInformation(int port, vtkInformation *info); 00152 00153 vtkFieldList* FieldList; 00154 private: 00155 vtkMergeFilter(const vtkMergeFilter&); // Not implemented. 00156 void operator=(const vtkMergeFilter&); // Not implemented. 00157 }; 00158 00159 #endif 00160 00161