00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMultiBlockDataSet.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 =========================================================================*/ 00044 #ifndef __vtkMultiBlockDataSet_h 00045 #define __vtkMultiBlockDataSet_h 00046 00047 #include "vtkCompositeDataSet.h" 00048 00049 class VTK_FILTERING_EXPORT vtkMultiBlockDataSet : public vtkCompositeDataSet 00050 { 00051 public: 00052 static vtkMultiBlockDataSet* New(); 00053 vtkTypeMacro(vtkMultiBlockDataSet, vtkCompositeDataSet); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 virtual int GetDataObjectType() {return VTK_MULTIBLOCK_DATA_SET;} 00058 00062 void SetNumberOfBlocks(unsigned int numBlocks); 00063 00065 unsigned int GetNumberOfBlocks(); 00066 00070 vtkDataObject* GetBlock(unsigned int blockno); 00071 00074 void SetBlock(unsigned int blockno, vtkDataObject* block); 00075 00077 void RemoveBlock(unsigned int blockno); 00078 00080 00081 int HasMetaData(unsigned int blockno) 00082 { return this->Superclass::HasChildMetaData(blockno); } 00084 00086 00089 vtkInformation* GetMetaData(unsigned int blockno) 00090 { return this->Superclass::GetChildMetaData(blockno); } 00092 00093 //BTX 00095 00096 static vtkMultiBlockDataSet* GetData(vtkInformation* info); 00097 static vtkMultiBlockDataSet* GetData(vtkInformationVector* v, int i=0); 00098 //ETX 00100 00102 00103 virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter) 00104 { return this->Superclass::GetMetaData(iter); } 00106 00108 00109 virtual int HasMetaData(vtkCompositeDataIterator* iter) 00110 { return this->Superclass::HasMetaData(iter); } 00112 00113 //BTX 00114 protected: 00115 vtkMultiBlockDataSet(); 00116 ~vtkMultiBlockDataSet(); 00117 00118 private: 00119 vtkMultiBlockDataSet(const vtkMultiBlockDataSet&); // Not implemented. 00120 void operator=(const vtkMultiBlockDataSet&); // Not implemented. 00121 //ETX 00122 }; 00123 00124 #endif 00125 00126