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 class vtkInformationIntegerKey; 00049 00050 class VTKCOMMONDATAMODEL_EXPORT vtkCompositeDataSet : public vtkDataObject 00051 { 00052 public: 00053 vtkTypeMacro(vtkCompositeDataSet, vtkDataObject); 00054 void PrintSelf(ostream& os, vtkIndent indent); 00055 00057 virtual vtkCompositeDataIterator* NewIterator() =0; 00058 00060 virtual int GetDataObjectType() {return VTK_COMPOSITE_DATA_SET;} 00061 00065 virtual void CopyStructure(vtkCompositeDataSet* input)=0; 00066 00071 virtual void SetDataSet(vtkCompositeDataIterator* iter, vtkDataObject* dataObj)=0; 00072 00077 virtual vtkDataObject* GetDataSet(vtkCompositeDataIterator* iter)=0; 00078 00079 00082 virtual unsigned long GetActualMemorySize(); 00083 00084 //BTX 00086 00087 static vtkCompositeDataSet* GetData(vtkInformation* info); 00088 static vtkCompositeDataSet* GetData(vtkInformationVector* v, int i=0); 00089 //ETX 00091 00093 virtual void Initialize(); 00094 00096 00097 virtual void ShallowCopy(vtkDataObject *src); 00098 virtual void DeepCopy(vtkDataObject *src); 00100 00104 virtual vtkIdType GetNumberOfPoints(); 00105 00107 static vtkInformationStringKey* NAME(); 00108 00114 static vtkInformationIntegerKey* CURRENT_PROCESS_CAN_LOAD_BLOCK(); 00115 00116 //BTX 00117 protected: 00118 vtkCompositeDataSet(); 00119 virtual ~vtkCompositeDataSet(); 00120 private: 00121 00122 vtkCompositeDataSet(const vtkCompositeDataSet&); // Not implemented. 00123 void operator=(const vtkCompositeDataSet&); // Not implemented. 00124 //ETX 00125 }; 00126 00127 #endif 00128 00129