VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeDataSet.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 =========================================================================*/ 00038 #ifndef __vtkCompositeDataSet_h 00039 #define __vtkCompositeDataSet_h 00040 00041 #include "vtkCommonDataModelModule.h" // For export macro 00042 #include "vtkDataObject.h" 00043 00044 class vtkCompositeDataIterator; 00045 class vtkCompositeDataSetInternals; 00046 class vtkInformation; 00047 class vtkInformationStringKey; 00048 00049 class VTKCOMMONDATAMODEL_EXPORT vtkCompositeDataSet : public vtkDataObject 00050 { 00051 public: 00052 vtkTypeMacro(vtkCompositeDataSet, vtkDataObject); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 virtual vtkCompositeDataIterator* NewIterator() =0; 00057 00059 virtual int GetDataObjectType() {return VTK_COMPOSITE_DATA_SET;} 00060 00064 virtual void CopyStructure(vtkCompositeDataSet* input)=0; 00065 00070 virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj)=0; 00071 00076 virtual vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter)=0; 00077 00078 00081 virtual unsigned long GetActualMemorySize(); 00082 00083 //BTX 00085 00086 static vtkCompositeDataSet* GetData(vtkInformation* info); 00087 static vtkCompositeDataSet* GetData(vtkInformationVector* v, int i=0); 00088 //ETX 00090 00092 virtual void Initialize(); 00093 00095 00096 virtual void ShallowCopy(vtkDataObject *src); 00097 virtual void DeepCopy(vtkDataObject *src); 00099 00103 virtual vtkIdType GetNumberOfPoints(); 00104 00106 static vtkInformationStringKey* NAME(); 00107 00108 //BTX 00109 protected: 00110 vtkCompositeDataSet(); 00111 virtual ~vtkCompositeDataSet(); 00112 private: 00113 00114 vtkCompositeDataSet(const vtkCompositeDataSet&); // Not implemented. 00115 void operator=(const vtkCompositeDataSet&); // Not implemented. 00116 //ETX 00117 }; 00118 00119 #endif 00120 00121