00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkMultiPieceDataSet.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 =========================================================================*/ 00035 #ifndef __vtkMultiPieceDataSet_h 00036 #define __vtkMultiPieceDataSet_h 00037 00038 #include "vtkCompositeDataSet.h" 00039 00040 class vtkDataSet; 00041 class VTK_FILTERING_EXPORT vtkMultiPieceDataSet : public vtkCompositeDataSet 00042 { 00043 public: 00044 static vtkMultiPieceDataSet* New(); 00045 vtkTypeMacro(vtkMultiPieceDataSet, vtkCompositeDataSet); 00046 void PrintSelf(ostream& os, vtkIndent indent); 00047 00049 virtual int GetDataObjectType() {return VTK_MULTIPIECE_DATA_SET;} 00050 00054 void SetNumberOfPieces(unsigned int numpieces); 00055 00057 unsigned int GetNumberOfPieces(); 00058 00060 00061 vtkDataSet* GetPiece(unsigned int pieceno); 00062 vtkDataObject* GetPieceAsDataObject(unsigned int pieceno); 00064 00067 void SetPiece(unsigned int pieceno, vtkDataObject* piece); 00068 00070 00071 int HasMetaData(unsigned int piece) 00072 { return this->Superclass::HasChildMetaData(piece); } 00074 00076 00079 vtkInformation* GetMetaData(unsigned int pieceno) 00080 { return this->Superclass::GetChildMetaData(pieceno); } 00082 00083 //BTX 00085 00086 static vtkMultiPieceDataSet* GetData(vtkInformation* info); 00087 static vtkMultiPieceDataSet* GetData(vtkInformationVector* v, int i=0); 00088 //ETX 00090 00092 00093 virtual vtkInformation* GetMetaData(vtkCompositeDataIterator* iter) 00094 { return this->Superclass::GetMetaData(iter); } 00096 00098 00099 virtual int HasMetaData(vtkCompositeDataIterator* iter) 00100 { return this->Superclass::HasMetaData(iter); } 00102 00103 //BTX 00104 protected: 00105 vtkMultiPieceDataSet(); 00106 ~vtkMultiPieceDataSet(); 00107 00108 private: 00109 vtkMultiPieceDataSet(const vtkMultiPieceDataSet&); // Not implemented. 00110 void operator=(const vtkMultiPieceDataSet&); // Not implemented. 00111 //ETX 00112 }; 00113 00114 #endif 00115 00116