00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00021 #ifndef __vtkSMDomainIterator_h
00022 #define __vtkSMDomainIterator_h
00023
00024 #include "vtkSMObject.h"
00025
00026 class vtkSMProperty;
00027 class vtkSMDomain;
00028
00029
00030 struct vtkSMDomainIteratorInternals;
00031
00032
00033 class VTK_EXPORT vtkSMDomainIterator : public vtkSMObject
00034 {
00035 public:
00036 static vtkSMDomainIterator* New();
00037 vtkTypeRevisionMacro(vtkSMDomainIterator, vtkSMObject);
00038 void PrintSelf(ostream& os, vtkIndent indent);
00039
00041 void SetProperty(vtkSMProperty* property);
00042
00044
00045 vtkGetObjectMacro(Property, vtkSMProperty);
00047
00049 void Begin();
00050
00052 int IsAtEnd();
00053
00055 void Next();
00056
00058 const char* GetKey();
00059
00061 vtkSMDomain* GetDomain();
00062
00063 virtual void SaveState(const char*, ostream*, vtkIndent) {}
00064
00065 protected:
00066 vtkSMDomainIterator();
00067 ~vtkSMDomainIterator();
00068
00069 vtkSMProperty* Property;
00070
00071 private:
00072 vtkSMDomainIteratorInternals* Internals;
00073
00074 vtkSMDomainIterator(const vtkSMDomainIterator&);
00075 void operator=(const vtkSMDomainIterator&);
00076 };
00077
00078 #endif