00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkMultiBlockDataSet.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 =========================================================================*/ 00041 #ifndef __vtkMultiBlockDataSet_h 00042 #define __vtkMultiBlockDataSet_h 00043 00044 #include "vtkCompositeDataSet.h" 00045 00046 class vtkDataSet; 00047 class vtkMultiBlockDataIterator; 00048 class vtkMultiBlockDataSetInternal; 00049 00050 class VTK_FILTERING_EXPORT vtkMultiBlockDataSet : public vtkCompositeDataSet 00051 { 00052 public: 00053 static vtkMultiBlockDataSet *New(); 00054 00055 vtkTypeRevisionMacro(vtkMultiBlockDataSet,vtkCompositeDataSet); 00056 void PrintSelf(ostream& os, vtkIndent indent); 00057 00059 virtual vtkCompositeDataIterator* NewIterator(); 00060 00062 virtual vtkCompositeDataVisitor* NewVisitor(); 00063 00066 virtual int GetDataObjectType() {return VTK_MULTI_BLOCK_DATA_SET;} 00067 00069 void AddDataSet(vtkDataObject* data); 00070 00071 // Rescription: 00072 // Restore data object to initial state, 00073 virtual void Initialize(); 00074 00075 //BTX 00076 // Note that vtkMultiBlockDataIterator is dependent on the implementation 00077 // of the data structure in this class. Changes to the data structure 00078 // might require changes to vtkMultiBlockDataIterator. 00079 friend class vtkMultiBlockDataIterator; 00080 //ETX 00081 00082 protected: 00083 vtkMultiBlockDataSet(); 00084 ~vtkMultiBlockDataSet(); 00085 00086 vtkMultiBlockDataSetInternal* Internal; 00087 00088 private: 00089 vtkMultiBlockDataSet(const vtkMultiBlockDataSet&); // Not implemented. 00090 void operator=(const vtkMultiBlockDataSet&); // Not implemented. 00091 }; 00092 00093 #endif 00094