VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkAppendFilter.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 =========================================================================*/ 00032 #ifndef __vtkAppendFilter_h 00033 #define __vtkAppendFilter_h 00034 00035 #include "vtkFiltersCoreModule.h" // For export macro 00036 #include "vtkUnstructuredGridAlgorithm.h" 00037 00038 class vtkDataSetCollection; 00039 00040 class VTKFILTERSCORE_EXPORT vtkAppendFilter : public vtkUnstructuredGridAlgorithm 00041 { 00042 public: 00043 static vtkAppendFilter *New(); 00044 00045 vtkTypeMacro(vtkAppendFilter,vtkUnstructuredGridAlgorithm); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00048 //BTX 00050 00051 vtkDataSet *GetInput(int idx); 00052 vtkDataSet *GetInput() 00053 {return this->GetInput( 0 );} 00054 //ETX 00056 00058 00061 vtkGetMacro(MergePoints,int); 00063 00065 00068 vtkSetMacro(MergePoints,int); 00070 00071 vtkBooleanMacro(MergePoints,int); 00072 00074 void RemoveInputData(vtkDataSet *in); 00075 00078 vtkDataSetCollection *GetInputList(); 00079 00081 00084 vtkSetClampMacro(OutputPointsPrecision, int, SINGLE_PRECISION, DEFAULT_PRECISION); 00085 vtkGetMacro(OutputPointsPrecision, int); 00087 00088 protected: 00089 vtkAppendFilter(); 00090 ~vtkAppendFilter(); 00091 00092 // Usual data generation method 00093 virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *); 00094 00095 virtual int FillInputPortInformation(int port, vtkInformation *info); 00096 00098 00103 int AppendBlocksWithPointLocator( vtkInformationVector ** inputVector, 00104 vtkInformationVector * outputVector ); 00106 00107 00108 // list of data sets to append together. 00109 // Here as a convenience. It is a copy of the input array. 00110 vtkDataSetCollection *InputList; 00111 00112 //If true we will attempt to merge points. Must also not have 00113 //ghost cells defined. 00114 int MergePoints; 00115 00116 int OutputPointsPrecision; 00117 00118 private: 00119 vtkAppendFilter(const vtkAppendFilter&); // Not implemented. 00120 void operator=(const vtkAppendFilter&); // Not implemented. 00121 }; 00122 00123 00124 #endif 00125 00126