VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkCompositeDataIterator.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 =========================================================================*/ 00028 #ifndef __vtkCompositeDataIterator_h 00029 #define __vtkCompositeDataIterator_h 00030 00031 #include "vtkCommonDataModelModule.h" // For export macro 00032 #include "vtkObject.h" 00033 00034 class vtkCompositeDataSet; 00035 class vtkCompositeDataSetInternals; 00036 class vtkCompositeDataSetIndex; 00037 class vtkDataObject; 00038 class vtkInformation; 00039 00040 class VTKCOMMONDATAMODEL_EXPORT vtkCompositeDataIterator : public vtkObject 00041 { 00042 public: 00043 vtkTypeMacro(vtkCompositeDataIterator, vtkObject); 00044 void PrintSelf(ostream& os, vtkIndent indent); 00045 00047 00049 virtual void SetDataSet(vtkCompositeDataSet* ds); 00050 vtkGetObjectMacro(DataSet, vtkCompositeDataSet); 00052 00054 virtual void InitTraversal(); 00055 00058 virtual void InitReverseTraversal(); 00059 00061 virtual void GoToFirstItem() = 0; 00062 00064 virtual void GoToNextItem() =0; 00065 00069 virtual int IsDoneWithTraversal() =0; 00070 00073 virtual vtkDataObject* GetCurrentDataObject() = 0; 00074 00079 virtual vtkInformation* GetCurrentMetaData() =0; 00080 00083 virtual int HasCurrentMetaData() =0; 00084 00086 00088 vtkSetMacro(SkipEmptyNodes, int); 00089 vtkGetMacro(SkipEmptyNodes, int); 00090 vtkBooleanMacro(SkipEmptyNodes, int); 00092 00095 virtual unsigned int GetCurrentFlatIndex()=0; 00096 00098 00099 vtkGetMacro(Reverse, int); 00101 00102 //BTX 00103 protected: 00104 vtkCompositeDataIterator(); 00105 virtual ~vtkCompositeDataIterator(); 00106 int SkipEmptyNodes; 00107 int Reverse; 00108 vtkCompositeDataSet* DataSet; 00109 00110 private: 00111 vtkCompositeDataIterator(const vtkCompositeDataIterator&); // Not implemented. 00112 void operator=(const vtkCompositeDataIterator&); // Not implemented. 00113 //ETX 00114 }; 00115 00116 #endif 00117 00118