VTK
dox/Common/DataModel/vtkMultiBlockDataSet.h
Go to the documentation of this file.
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 "vtkCommonDataModelModule.h" // For export macro
00048 #include "vtkDataObjectTree.h"
00049 
00050 class VTKCOMMONDATAMODEL_EXPORT vtkMultiBlockDataSet : public vtkDataObjectTree
00051 {
00052 public:
00053   static vtkMultiBlockDataSet* New();
00054   vtkTypeMacro(vtkMultiBlockDataSet, vtkDataObjectTree);
00055   void PrintSelf(ostream& os, vtkIndent indent);
00056 
00058   virtual int GetDataObjectType() {return VTK_MULTIBLOCK_DATA_SET;}
00059 
00063   void SetNumberOfBlocks(unsigned int numBlocks);
00064 
00066   unsigned int GetNumberOfBlocks();
00067 
00071   vtkDataObject* GetBlock(unsigned int blockno);
00072 
00075   void SetBlock(unsigned int blockno, vtkDataObject* block);
00076 
00078   void RemoveBlock(unsigned int blockno);
00079 
00081 
00082   int HasMetaData(unsigned int blockno)
00083     { return this->Superclass::HasChildMetaData(blockno); }
00085 
00087 
00090   vtkInformation* GetMetaData(unsigned int blockno)
00091     { return this->Superclass::GetChildMetaData(blockno); }
00093 
00094   //BTX
00096 
00097   static vtkMultiBlockDataSet* GetData(vtkInformation* info);
00098   static vtkMultiBlockDataSet* GetData(vtkInformationVector* v, int i=0);
00099   //ETX
00101 
00103 
00104   virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter)
00105     { return this->Superclass::GetMetaData(iter); }
00107 
00109 
00110   virtual int HasMetaData(vtkCompositeDataIterator* iter)
00111     { return this->Superclass::HasMetaData(iter); }
00113 
00114 //BTX
00115 protected:
00116   vtkMultiBlockDataSet();
00117   ~vtkMultiBlockDataSet();
00118 
00119 private:
00120   vtkMultiBlockDataSet(const vtkMultiBlockDataSet&); // Not implemented.
00121   void operator=(const vtkMultiBlockDataSet&); // Not implemented.
00122 //ETX
00123 };
00124 
00125 #endif
00126 
00127