VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMergeFilter.h,v $ 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 =========================================================================*/ 00027 #ifndef __vtkMergeFilter_h 00028 #define __vtkMergeFilter_h 00029 00030 #include "vtkDataSetAlgorithm.h" 00031 00032 class vtkFieldList; 00033 00034 class VTK_GRAPHICS_EXPORT vtkMergeFilter : public vtkDataSetAlgorithm 00035 { 00036 public: 00037 static vtkMergeFilter *New(); 00038 vtkTypeRevisionMacro(vtkMergeFilter,vtkDataSetAlgorithm); 00039 void PrintSelf(ostream& os, vtkIndent indent); 00040 00042 00044 void SetGeometry(vtkDataSet *input) {this->SetInput(input);}; 00045 vtkDataSet *GetGeometry(); 00047 00049 00051 void SetGeometryConnection(vtkAlgorithmOutput* algOutput) 00052 { 00053 this->SetInputConnection(algOutput); 00054 } 00056 00058 00060 void SetScalars(vtkDataSet *); 00061 vtkDataSet *GetScalars(); 00063 00065 00067 void SetScalarsConnection(vtkAlgorithmOutput* algOutput) 00068 { 00069 this->SetInputConnection(1, algOutput); 00070 } 00072 00074 00076 void SetVectors(vtkDataSet *); 00077 vtkDataSet *GetVectors(); 00079 00081 00083 void SetVectorsConnection(vtkAlgorithmOutput* algOutput) 00084 { 00085 this->SetInputConnection(2, algOutput); 00086 } 00088 00090 00092 void SetNormals(vtkDataSet *); 00093 vtkDataSet *GetNormals(); 00095 00097 00099 void SetNormalsConnection(vtkAlgorithmOutput* algOutput) 00100 { 00101 this->SetInputConnection(3, algOutput); 00102 } 00104 00106 00108 void SetTCoords(vtkDataSet *); 00109 vtkDataSet *GetTCoords(); 00111 00113 00115 void SetTCoordsConnection(vtkAlgorithmOutput* algOutput) 00116 { 00117 this->SetInputConnection(4, algOutput); 00118 } 00120 00122 00124 void SetTensors(vtkDataSet *); 00125 vtkDataSet *GetTensors(); 00127 00129 00131 void SetTensorsConnection(vtkAlgorithmOutput* algOutput) 00132 { 00133 this->SetInputConnection(5, algOutput); 00134 } 00136 00139 void AddField(const char* name, vtkDataSet* input); 00140 00141 protected: 00142 vtkMergeFilter(); 00143 ~vtkMergeFilter(); 00144 00145 // Usual data generation method 00146 int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00147 int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00148 int FillInputPortInformation(int port, vtkInformation *info); 00149 00150 vtkFieldList* FieldList; 00151 private: 00152 vtkMergeFilter(const vtkMergeFilter&); // Not implemented. 00153 void operator=(const vtkMergeFilter&); // Not implemented. 00154 }; 00155 00156 #endif 00157 00158