1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkTransformCollection.h,v $
6 Date: $Date: 2002/12/26 18:24:22 $
7 Version: $Revision: 1.32 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkTransformCollection - maintain a list of transforms
20 // .SECTION Description
21 // vtkTransformCollection is an object that creates and manipulates lists of
22 // objects of type vtkTransform.
25 // vtkCollection vtkTransform
27 #ifndef __vtkTransformCollection_h
28 #define __vtkTransformCollection_h
30 #include "vtkCollection.h"
32 #include "vtkTransform.h" // Needed for inline methods
34 class VTK_COMMON_EXPORT vtkTransformCollection : public vtkCollection
37 vtkTypeRevisionMacro(vtkTransformCollection,vtkCollection);
38 static vtkTransformCollection *New();
41 // Add a Transform to the list.
42 void AddItem(vtkTransform *);
45 // Get the next Transform in the list. Return NULL when the end of the
47 vtkTransform *GetNextItem();
50 vtkTransformCollection() {};
51 ~vtkTransformCollection() {};
55 // hide the standard AddItem from the user and the compiler.
56 void AddItem(vtkObject *o) { this->vtkCollection::AddItem(o); };
59 vtkTransformCollection(const vtkTransformCollection&); // Not implemented.
60 void operator=(const vtkTransformCollection&); // Not implemented.
63 inline void vtkTransformCollection::AddItem(vtkTransform *t)
65 this->vtkCollection::AddItem((vtkObject *)t);
68 inline vtkTransform *vtkTransformCollection::GetNextItem()
70 return static_cast<vtkTransform *>(this->GetNextItemAsObject());