VTK
vtkExecutiveCollection.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkExecutiveCollection.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 /*-------------------------------------------------------------------------
16  Copyright (c) 2008, 2009 by SCI Institute, University of Utah.
17 
18  This is part of the Parallel Dataflow System originally developed by
19  Huy T. Vo and Claudio T. Silva. For more information, see:
20 
21  "Parallel Dataflow Scheme for Streaming (Un)Structured Data" by Huy
22  T. Vo, Daniel K. Osmari, Brian Summa, Joao L.D. Comba, Valerio
23  Pascucci and Claudio T. Silva, SCI Institute, University of Utah,
24  Technical Report #UUSCI-2009-004, 2009.
25 
26  "Multi-Threaded Streaming Pipeline For VTK" by Huy T. Vo and Claudio
27  T. Silva, SCI Institute, University of Utah, Technical Report
28  #UUSCI-2009-005, 2009.
29 -------------------------------------------------------------------------*/
40 #ifndef __vtkExecutiveCollection_h
41 #define __vtkExecutiveCollection_h
42 
43 #include "vtkCollection.h"
44 
45 #include "vtkExecutive.h" // Needed for static cast
46 
48 {
49 public:
50  static vtkExecutiveCollection *New();
52  void PrintSelf(ostream& os, vtkIndent indent);
53 
55 
56  void AddItem(vtkExecutive *exec)
57  {
58  this->vtkCollection::AddItem(exec);
59  }
61 
63 
64  vtkExecutive *GetNextItem()
65  {
66  return static_cast<vtkExecutive *>(this->GetNextItemAsObject());
67  }
69 
70  //BTX
72 
74  vtkExecutive *GetNextExecutive(vtkCollectionSimpleIterator &cookie)
75  {
76  return static_cast<vtkExecutive *>(this->GetNextItemAsObject(cookie));
77  }
78  //ETX
80 
81 protected:
84 
85 private:
86  // hide the standard AddItem from the user and the compiler.
87  void AddItem(vtkObject *o)
88  {
89  this->vtkCollection::AddItem(o);
90  }
91 
92 private:
93  vtkExecutiveCollection(const vtkExecutiveCollection&); // Not implemented.
94  void operator=(const vtkExecutiveCollection&); // Not implemented.
95 };
96 
97 
98 #endif