VTK
dox/Rendering/Core/vtkVolumeCollection.h
Go to the documentation of this file.
00001 /*=========================================================================
00002 
00003   Program:   Visualization Toolkit
00004   Module:    vtkVolumeCollection.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 __vtkVolumeCollection_h
00027 #define __vtkVolumeCollection_h
00028 
00029 #include "vtkRenderingCoreModule.h" // For export macro
00030 #include "vtkPropCollection.h"
00031 
00032 #include "vtkVolume.h"  // Needed for static cast
00033 
00034 class VTKRENDERINGCORE_EXPORT vtkVolumeCollection : public vtkPropCollection
00035 {
00036  public:
00037   static vtkVolumeCollection *New();
00038   vtkTypeMacro(vtkVolumeCollection, vtkPropCollection);
00039   virtual void PrintSelf(ostream& os, vtkIndent indent);
00040 
00042 
00043   void AddItem(vtkVolume *a)
00044     { this->vtkCollection::AddItem(a); }
00046 
00048 
00050   vtkVolume *GetNextVolume()
00051     { return static_cast<vtkVolume *>(this->GetNextItemAsObject()); }
00053 
00054 
00056 
00058   vtkVolume *GetNextItem()
00059     { return this->GetNextVolume(); }
00061 
00062   //BTX
00064 
00066   vtkVolume *GetNextVolume(vtkCollectionSimpleIterator &cookie)
00067     { return static_cast<vtkVolume *>(this->GetNextItemAsObject(cookie)); }
00068   //ETX
00070 
00071 protected:
00072   vtkVolumeCollection() {}
00073   ~vtkVolumeCollection() {}
00074 
00075 private:
00076   // hide the standard AddItem from the user and the compiler.
00077   void AddItem(vtkObject *o)
00078     { this->vtkCollection::AddItem(o); }
00079   void AddItem(vtkProp *o)
00080     { this->vtkPropCollection::AddItem(o); }
00081 
00082 private:
00083   vtkVolumeCollection(const vtkVolumeCollection&);  // Not implemented.
00084   void operator=(const vtkVolumeCollection&);  // Not implemented.
00085 };
00086 
00087 #endif