00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkCompositeDataSet.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 =========================================================================*/ 00033 #ifndef __vtkCompositeDataSet_h 00034 #define __vtkCompositeDataSet_h 00035 00036 #include "vtkDataObject.h" 00037 00038 class vtkCompositeDataIterator; 00039 class vtkInformation; 00040 class vtkInformationDataObjectKey; 00041 00042 class VTK_FILTERING_EXPORT vtkCompositeDataSet : public vtkDataObject 00043 { 00044 public: 00045 vtkTypeRevisionMacro(vtkCompositeDataSet,vtkDataObject); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00050 virtual vtkCompositeDataIterator* NewIterator() = 0; 00051 00054 virtual int GetDataObjectType() {return VTK_COMPOSITE_DATA_SET;} 00055 00057 virtual void Initialize(); 00058 00062 virtual void AddDataSet(vtkInformation* index, vtkDataObject* dobj) = 0; 00063 00067 virtual vtkDataObject* GetDataSet(vtkInformation* index) = 0; 00068 00070 virtual void SetPipelineInformation(vtkInformation*); 00071 00073 virtual vtkAlgorithmOutput* GetProducerPort(); 00074 00075 static vtkInformationIntegerKey* INDEX(); 00076 static vtkInformationDataObjectKey* COMPOSITE_DATA_SET(); 00077 00078 //BTX 00080 00081 static vtkCompositeDataSet* GetData(vtkInformation* info); 00082 static vtkCompositeDataSet* GetData(vtkInformationVector* v, int i=0); 00083 //ETX 00085 00086 protected: 00087 vtkCompositeDataSet(); 00088 ~vtkCompositeDataSet(); 00089 00090 private: 00091 vtkCompositeDataSet(const vtkCompositeDataSet&); // Not implemented. 00092 void operator=(const vtkCompositeDataSet&); // Not implemented. 00093 }; 00094 00095 #endif 00096