Permalink
Switch branches/tags
Nothing to show
Find file
Fetching contributors…
Cannot retrieve contributors at this time
94 lines (73 sloc) 2.93 KB
/*=========================================================================
Program: Visualization Toolkit
Module: vtkExecutiveCollection.h
Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
All rights reserved.
See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
This software is distributed WITHOUT ANY WARRANTY; without even
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
PURPOSE. See the above copyright notice for more information.
=========================================================================*/
/*-------------------------------------------------------------------------
Copyright (c) 2008, 2009 by SCI Institute, University of Utah.
This is part of the Parallel Dataflow System originally developed by
Huy T. Vo and Claudio T. Silva. For more information, see:
"Parallel Dataflow Scheme for Streaming (Un)Structured Data" by Huy
T. Vo, Daniel K. Osmari, Brian Summa, Joao L.D. Comba, Valerio
Pascucci and Claudio T. Silva, SCI Institute, University of Utah,
Technical Report #UUSCI-2009-004, 2009.
"Multi-Threaded Streaming Pipeline For VTK" by Huy T. Vo and Claudio
T. Silva, SCI Institute, University of Utah, Technical Report
#UUSCI-2009-005, 2009.
-------------------------------------------------------------------------*/
// .NAME vtkExecutiveCollection - maintain a list of executive objects
// .SECTION Description
// vtkExecutiveCollection is an object that creates and manipulates lists of
// objects that are (inherited from) vtkExecutives.
// .SECTION See Also
// vtkExecutive vtkCollection
#ifndef __vtkExecutiveCollection_h
#define __vtkExecutiveCollection_h
#include "vtkCollection.h"
#include "vtkExecutive.h" // Needed for static cast
class VTK_FILTERING_EXPORT vtkExecutiveCollection : public vtkCollection
{
public:
static vtkExecutiveCollection *New();
vtkTypeMacro(vtkExecutiveCollection,vtkCollection);
void PrintSelf(ostream& os, vtkIndent indent);
// Description:
// Add an executive to the list.
void AddItem(vtkExecutive *exec)
{
this->vtkCollection::AddItem(exec);
}
// Description:
// Get the next executive in the list.
vtkExecutive *GetNextItem()
{
return static_cast<vtkExecutive *>(this->GetNextItemAsObject());
}
//BTX
// Description:
// Reentrant safe way to get an object in a collection. Just pass the
// same cookie back and forth.
vtkExecutive *GetNextExecutive(vtkCollectionSimpleIterator &cookie)
{
return static_cast<vtkExecutive *>(this->GetNextItemAsObject(cookie));
}
//ETX
protected:
vtkExecutiveCollection() {}
~vtkExecutiveCollection() {}
private:
// hide the standard AddItem from the user and the compiler.
void AddItem(vtkObject *o)
{
this->vtkCollection::AddItem(o);
}
private:
vtkExecutiveCollection(const vtkExecutiveCollection&); // Not implemented.
void operator=(const vtkExecutiveCollection&); // Not implemented.
};
#endif