VTK
|
00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: vtkImplicitFunctionCollection.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 =========================================================================*/ 00024 #ifndef __vtkImplicitFunctionCollection_h 00025 #define __vtkImplicitFunctionCollection_h 00026 00027 #include "vtkCommonDataModelModule.h" // For export macro 00028 #include "vtkCollection.h" 00029 00030 #include "vtkImplicitFunction.h" // Needed for inline methods 00031 00032 class VTKCOMMONDATAMODEL_EXPORT vtkImplicitFunctionCollection : public vtkCollection 00033 { 00034 public: 00035 vtkTypeMacro(vtkImplicitFunctionCollection,vtkCollection); 00036 static vtkImplicitFunctionCollection *New(); 00037 00039 void AddItem(vtkImplicitFunction *); 00040 00042 vtkImplicitFunction *GetNextItem(); 00043 00044 //BTX 00046 00048 vtkImplicitFunction *GetNextImplicitFunction( 00049 vtkCollectionSimpleIterator &cookie) 00050 { 00051 return static_cast<vtkImplicitFunction *>( 00052 this->GetNextItemAsObject(cookie)); 00053 }; 00054 //ETX 00056 00057 protected: 00058 vtkImplicitFunctionCollection() {}; 00059 ~vtkImplicitFunctionCollection() {}; 00060 00061 00062 private: 00063 // hide the standard AddItem from the user and the compiler. 00064 void AddItem(vtkObject *o) { this->vtkCollection::AddItem(o); }; 00065 00066 private: 00067 vtkImplicitFunctionCollection(const vtkImplicitFunctionCollection&); // Not implemented. 00068 void operator=(const vtkImplicitFunctionCollection&); // Not implemented. 00069 }; 00070 00071 inline void vtkImplicitFunctionCollection::AddItem(vtkImplicitFunction *f) 00072 { 00073 this->vtkCollection::AddItem(f); 00074 } 00075 00076 inline vtkImplicitFunction *vtkImplicitFunctionCollection::GetNextItem() 00077 { 00078 return static_cast<vtkImplicitFunction *>(this->GetNextItemAsObject()); 00079 } 00080 00081 #endif 00082 // VTK-HeaderTest-Exclude: vtkImplicitFunctionCollection.h