00001 /* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- 00002 * 00003 * $Id: vtkProcessObjectCollection.h,v 1.2 2004/08/10 07:37:21 xpxqx Exp $ 00004 * 00005 * Copyright (c) 2004 Sean McInerney 00006 * All rights reserved. 00007 * 00008 * See Copyright.txt or http://vtkextensions.sourceforge.net/Copyright.html 00009 * for details. 00010 * 00011 * This software is distributed WITHOUT ANY WARRANTY; without even 00012 * the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR 00013 * PURPOSE. See the above copyright notice for more information. 00014 * 00015 */ 00016 #ifndef VTK_PROCESS_OBJECT_COLLECTION_H_ 00017 # define VTK_PROCESS_OBJECT_COLLECTION_H_ 00018 # include "vtkExtensionsCommonConfigure.h" // vtkExtensions configuration 00019 // VTK Common 00020 # include "vtkCollection.h" 00021 # include "vtkProcessObject.h" // Needed for inline methods 00022 00023 VTK_EXTENSIONS_NAMESPACE_BEGIN 00024 00039 class VTK_EXTENSIONS_COMMON_EXPORT vtkProcessObjectCollection 00040 : public vtkCollection 00041 { 00042 public: 00043 static vtkProcessObjectCollection* New (void); 00044 vtkTypeRevisionMacro (vtkProcessObjectCollection, vtkCollection); 00045 void PrintSelf (ostream&, vtkIndent); 00046 00048 void AddItem (vtkProcessObject* a) 00049 { this->Superclass::AddItem((vtkObject *) a);}; 00050 00052 vtkProcessObject* GetNextItem (void) 00053 { return static_cast<vtkProcessObject*>(this->GetNextItemAsObject()); } 00054 00056 vtkProcessObject* GetItem (int i) 00057 { return static_cast<vtkProcessObject*>(this->GetItemAsObject(i)); } 00058 00059 protected: 00060 vtkProcessObjectCollection (void) {} 00061 ~vtkProcessObjectCollection() {} 00062 00063 private: 00064 // hide the standard AddItem from the user and the compiler. 00065 void AddItem (vtkObject* o) { this->Superclass::AddItem(o); }; 00066 00067 private: 00068 vtkProcessObjectCollection (const vtkProcessObjectCollection&); 00069 void operator= (const vtkProcessObjectCollection&); 00070 }; 00071 00072 VTK_EXTENSIONS_NAMESPACE_END 00073 00074 #endif /* VTK_PROCESS_OBJECT_COLLECTION_H_ */ 00075 /* 00076 * End of: $Id: vtkProcessObjectCollection.h,v 1.2 2004/08/10 07:37:21 xpxqx Exp $. 00077 * 00078 */