00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00035 #ifndef __vtkAppendCompositeDataLeaves_h
00036 #define __vtkAppendCompositeDataLeaves_h
00037 
00038 #include "vtkCompositeDataSetAlgorithm.h"
00039 
00040 class vtkAppendFilter;
00041 class vtkAppendPolyData;
00042 class vtkCompositeDataIterator;
00043 class vtkDataSet;
00044 class vtkPolyData;
00045 class vtkUnstructuredGrid;
00046 
00047 class VTK_GRAPHICS_EXPORT vtkAppendCompositeDataLeaves : public vtkCompositeDataSetAlgorithm
00048 {
00049 public:
00050   static vtkAppendCompositeDataLeaves* New();
00051 
00052   vtkTypeMacro(vtkAppendCompositeDataLeaves,vtkCompositeDataSetAlgorithm);
00053   void PrintSelf( ostream& os, vtkIndent indent );
00054 
00056 
00057   vtkCompositeDataSet* GetInput( int idx );
00058   vtkCompositeDataSet* GetInput() 
00059     { return this->GetInput( 0 ); }
00060   
00062 
00064   void RemoveInput( vtkDataSet* in );
00065 
00067 
00072   vtkSetMacro(AppendFieldData,int);
00073   vtkGetMacro(AppendFieldData,int);
00074   vtkBooleanMacro(AppendFieldData,int);
00076 
00077 protected:
00078   vtkAppendCompositeDataLeaves();
00079   ~vtkAppendCompositeDataLeaves();
00080 
00083   virtual int RequestDataObject( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
00084   
00086   virtual int RequestData( vtkInformation*, vtkInformationVector**, vtkInformationVector* );
00087 
00089   virtual int FillInputPortInformation( int port, vtkInformation* info );
00090 
00093   virtual void AppendUnstructuredGrids( int i, int numInputs, vtkCompositeDataIterator* iter, vtkCompositeDataSet* output );
00094 
00097   virtual void AppendPolyData( int i, int numInputs, vtkCompositeDataIterator* iter, vtkCompositeDataSet* output );
00098 
00103   virtual void AppendFieldDataArrays( int i, int numInputs, vtkCompositeDataIterator* iter, vtkDataSet* dset );
00104 
00105   int AppendFieldData;
00106   vtkAppendFilter* AppendUG;
00107   vtkAppendPolyData* AppendPD;
00108 
00109 private:
00110   vtkAppendCompositeDataLeaves ( const vtkAppendCompositeDataLeaves& ); 
00111   void operator = ( const vtkAppendCompositeDataLeaves& ); 
00112 };
00113 
00114 #endif // __vtkAppendCompositeDataLeaves_h