00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 #ifndef VTK_OBJECT_SET_H_
00017 #  define VTK_OBJECT_SET_H_
00018 #  include "vtkObjectBaseSet.h"
00019 #  include "vtkObjectSetIterator.h" 
00020 
00031 class VTK_CONTAINERS_EXPORT vtkObjectSet
00032   : public vtkObjectBaseSet
00033 {
00034 public:
00035   static vtkObjectSet* New (void);
00036   vtkTypeRevisionMacro (vtkObjectSet, vtkObjectBaseSet);
00037   void PrintSelf (ostream&, vtkIndent);
00038 
00043   virtual int   Swap (vtkObjectSet*     container)
00044     { return this->Superclass::Swap(container); }
00045 
00050   virtual int   Copy (vtkObjectSet*     container)
00051     { return this->Superclass::Copy(container); }
00052 
00057   virtual int   Find (vtkObject*        item) const
00058     { return this->Superclass::Find(item); }
00059 
00064   virtual int   Insert (vtkIdType       position,
00065                         vtkObject*      item)
00066     { return this->Superclass::Insert(position, item); }
00067 
00085   virtual int   CreateUnion (vtkObjectSet* source,
00086                              vtkObjectSet* destination)
00087     { return this->Superclass::CreateUnion(source, destination); }
00088 
00103   virtual int   CreateIntersection (vtkObjectSet* source,
00104                                     vtkObjectSet* destination)
00105     { return this->Superclass::CreateIntersection(source, destination); }
00106 
00121   virtual int   CreateDifference (vtkObjectSet* source,
00122                                   vtkObjectSet* destination)
00123     { return this->Superclass::CreateDifference(source, destination); }
00124 
00140   virtual int   CreateSymmetricDifference (vtkObjectSet* source,
00141                                            vtkObjectSet* destination)
00142     { return this->Superclass::CreateSymmetricDifference(source, destination); }
00153   vtkObject*    Front (void) const
00154     { return static_cast<vtkObject*>(this->Superclass::Front()); }
00155 
00162   vtkObject*    Back (void) const
00163     { return static_cast<vtkObject*>(this->Superclass::Back()); }
00167   vtkObjectSetIterator* CreateIterator (void);
00168 
00169 protected:
00170   vtkObjectSet (void);
00171   ~vtkObjectSet();
00172 
00173 private:
00174   
00175   friend class vtkObjectSetIterator;
00176 
00179   int Swap (vtkObjectBaseSet* a)
00180     { return this->Superclass::Swap(a); }
00181   int Copy (vtkObjectBaseSet* a)
00182     { return this->Superclass::Copy(a); }
00183   int Find (vtkObjectBase* a) const
00184     { return this->Superclass::Find(a); }
00185   int Insert (vtkIdType pos, vtkObjectBase* a)
00186     { return this->Superclass::Insert(pos, a); }
00187   int CreateUnion (vtkObjectBaseSet* src, vtkObjectBaseSet* dst)
00188     { return this->Superclass::CreateUnion(src, dst); }
00189   int CreateIntersection (vtkObjectBaseSet* src, vtkObjectBaseSet* dst)
00190     { return this->Superclass::CreateIntersection(src, dst); }
00191   int CreateDifference (vtkObjectBaseSet* src, vtkObjectBaseSet* dst)
00192     { return this->Superclass::CreateDifference(src, dst); }
00193   int CreateSymmetricDifference (vtkObjectBaseSet* src, vtkObjectBaseSet* dst)
00194     { return this->Superclass::CreateSymmetricDifference(src, dst); }
00196   
00197 
00198 private:
00204   vtkObjectSet (const vtkObjectSet&);
00205   void operator= (const vtkObjectSet&);
00207 };
00208 
00209 #endif 
00210 
00211 
00212 
00213