OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkTransformCollection.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkTransformCollection.h,v $
5   Language:  C++
6   Date:      $Date: 2002/12/26 18:24:22 $
7   Version:   $Revision: 1.32 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
17 =========================================================================*/
18 // .NAME vtkTransformCollection - maintain a list of transforms
19
20 // .SECTION Description
21 // vtkTransformCollection is an object that creates and manipulates lists of
22 // objects of type vtkTransform.
23
24 // .SECTION see also
25 // vtkCollection vtkTransform
26
27 #ifndef __vtkTransformCollection_h
28 #define __vtkTransformCollection_h
29
30 #include "vtkCollection.h"
31
32 #include "vtkTransform.h" // Needed for inline methods
33
34 class VTK_COMMON_EXPORT vtkTransformCollection : public vtkCollection
35 {
36 public:
37   vtkTypeRevisionMacro(vtkTransformCollection,vtkCollection);
38   static vtkTransformCollection *New();
39
40   // Description:
41   // Add a Transform to the list.
42   void AddItem(vtkTransform *);
43
44   // Description:
45   // Get the next Transform in the list. Return NULL when the end of the
46   // list is reached.
47   vtkTransform *GetNextItem();
48
49 protected:
50   vtkTransformCollection() {};
51   ~vtkTransformCollection() {};
52
53
54 private:
55   // hide the standard AddItem from the user and the compiler.
56   void AddItem(vtkObject *o) { this->vtkCollection::AddItem(o); };
57
58 private:
59   vtkTransformCollection(const vtkTransformCollection&);  // Not implemented.
60   void operator=(const vtkTransformCollection&);  // Not implemented.
61 };
62
63 inline void vtkTransformCollection::AddItem(vtkTransform *t) 
64 {
65   this->vtkCollection::AddItem((vtkObject *)t);
66 }
67
68 inline vtkTransform *vtkTransformCollection::GetNextItem() 
69
70   return static_cast<vtkTransform *>(this->GetNextItemAsObject());
71 }
72
73 #endif