Main Page | Directories | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

vtkAssemblyPaths.h

Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    $RCSfile: vtkAssemblyPaths.h,v $
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 =========================================================================*/
00037 #ifndef __vtkAssemblyPaths_h
00038 #define __vtkAssemblyPaths_h
00039 
00040 #include "vtkCollection.h"
00041 
00042 #include "vtkAssemblyPath.h" // Needed for inline methods
00043 
00044 class vtkProp;
00045 
00046 class VTK_COMMON_EXPORT vtkAssemblyPaths : public vtkCollection
00047 {
00048 public:
00049   static vtkAssemblyPaths *New();
00050   vtkTypeRevisionMacro(vtkAssemblyPaths,vtkCollection);
00051 
00053   void AddItem(vtkAssemblyPath *p);
00054 
00056   void RemoveItem(vtkAssemblyPath *p);
00057 
00060   int IsItemPresent(vtkAssemblyPath *p);
00061 
00063   vtkAssemblyPath *GetNextItem();
00064 
00067   virtual unsigned long GetMTime();
00068 
00069   //BTX
00071 
00073   vtkAssemblyPath *GetNextPath(vtkCollectionSimpleIterator &cookie) {
00074     return static_cast<vtkAssemblyPath *>(this->GetNextItemAsObject(cookie));};
00075   //ETX
00077 
00078 protected:
00079   vtkAssemblyPaths() {};
00080   ~vtkAssemblyPaths() {};
00081   
00082 private:
00083   // hide the standard AddItem from the user and the compiler.
00084   void AddItem(vtkObject *o) { this->vtkCollection::AddItem(o); };
00085   void RemoveItem(vtkObject *o) { this->vtkCollection::RemoveItem(o); };
00086   void RemoveItem(int i) { this->vtkCollection::RemoveItem(i); };
00087   int  IsItemPresent(vtkObject *o) 
00088     { return this->vtkCollection::IsItemPresent(o);};
00089 private:
00090   vtkAssemblyPaths(const vtkAssemblyPaths&);  // Not implemented.
00091   void operator=(const vtkAssemblyPaths&);  // Not implemented.
00092 };
00093 
00094 inline void vtkAssemblyPaths::AddItem(vtkAssemblyPath *p) 
00095 {
00096   this->vtkCollection::AddItem((vtkObject *)p);
00097 }
00098 
00099 inline void vtkAssemblyPaths::RemoveItem(vtkAssemblyPath *p) 
00100 {
00101   this->vtkCollection::RemoveItem((vtkObject *)p);
00102 }
00103 
00104 inline int vtkAssemblyPaths::IsItemPresent(vtkAssemblyPath *p) 
00105 {
00106   return this->vtkCollection::IsItemPresent((vtkObject *)p);
00107 }
00108 
00109 inline vtkAssemblyPath *vtkAssemblyPaths::GetNextItem() 
00110 { 
00111   return (vtkAssemblyPath *)(this->GetNextItemAsObject());
00112 }
00113 
00114 #endif