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 VTK_FILTERING_EXPORT vtkMultiBlockDataSet : public vtkCompositeDataSet 00047 { 00048 public: 00049 static vtkMultiBlockDataSet* New(); 00050 vtkTypeRevisionMacro(vtkMultiBlockDataSet, vtkCompositeDataSet); 00051 void PrintSelf(ostream& os, vtkIndent indent); 00052 00054 virtual int GetDataObjectType() {return VTK_MULTIBLOCK_DATA_SET;} 00055 00059 void SetNumberOfBlocks(unsigned int numBlocks); 00060 00062 unsigned int GetNumberOfBlocks(); 00063 00067 vtkDataObject* GetBlock(unsigned int blockno); 00068 00071 void SetBlock(unsigned int blockno, vtkDataObject* block); 00072 00074 void RemoveBlock(unsigned int blockno); 00075 00077 00078 int HasMetaData(unsigned int blockno) 00079 { return this->Superclass::HasChildMetaData(blockno); } 00081 00083 00086 vtkInformation* GetMetaData(unsigned int blockno) 00087 { return this->Superclass::GetChildMetaData(blockno); } 00089 00090 //BTX 00092 00093 static vtkMultiBlockDataSet* GetData(vtkInformation* info); 00094 static vtkMultiBlockDataSet* GetData(vtkInformationVector* v, int i=0); 00095 //ETX 00097 00099 00100 virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter) 00101 { return this->Superclass::GetMetaData(iter); } 00103 00105 00106 virtual int HasMetaData(vtkCompositeDataIterator* iter) 00107 { return this->Superclass::HasMetaData(iter); } 00109 00110 //BTX 00111 protected: 00112 vtkMultiBlockDataSet(); 00113 ~vtkMultiBlockDataSet(); 00114 00115 private: 00116 vtkMultiBlockDataSet(const vtkMultiBlockDataSet&); // Not implemented. 00117 void operator=(const vtkMultiBlockDataSet&); // Not implemented. 00118 //ETX 00119 }; 00120 00121 #endif 00122 00123