VTK
dox/Common/Transforms/vtkTransformCollection.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkTransformCollection.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 =========================================================================*/
00026 #ifndef __vtkTransformCollection_h
00027 #define __vtkTransformCollection_h
00028 
00029 #include "vtkCommonTransformsModule.h" // For export macro
00030 #include "vtkCollection.h"
00031 
00032 #include "vtkTransform.h" // Needed for inline methods
00033 
00034 class VTKCOMMONTRANSFORMS_EXPORT vtkTransformCollection : public vtkCollection
00035 {
00036 public:
00037   vtkTypeMacro(vtkTransformCollection,vtkCollection);
00038   static vtkTransformCollection *New();
00039 
00041   void AddItem(vtkTransform *);
00042 
00045   vtkTransform *GetNextItem();
00046 
00047   //BTX
00049 
00051   vtkTransform *GetNextTransform(vtkCollectionSimpleIterator &cookie) {
00052     return static_cast<vtkTransform *>(this->GetNextItemAsObject(cookie));};
00053   //ETX
00055 
00056 protected:
00057   vtkTransformCollection() {};
00058   ~vtkTransformCollection() {};
00059 
00060 
00061 private:
00062   // hide the standard AddItem from the user and the compiler.
00063   void AddItem(vtkObject *o)
00064     {
00065       this->vtkCollection::AddItem(o);
00066     }
00067 
00068 private:
00069   vtkTransformCollection(const vtkTransformCollection&);  // Not implemented.
00070   void operator=(const vtkTransformCollection&);  // Not implemented.
00071 };
00072 
00073 //----------------------------------------------------------------------------
00074 inline void vtkTransformCollection::AddItem(vtkTransform *t)
00075 {
00076   this->vtkCollection::AddItem(t);
00077 }
00078 
00079 //----------------------------------------------------------------------------
00080 inline vtkTransform *vtkTransformCollection::GetNextItem()
00081 {
00082   return static_cast<vtkTransform *>(this->GetNextItemAsObject());
00083 }
00084 
00085 #endif
00086 // VTK-HeaderTest-Exclude: vtkTransformCollection.h