00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkPushImageReader.h,v $ 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 =========================================================================*/ 00031 #ifndef __vtkPushImageReader_h 00032 #define __vtkPushImageReader_h 00033 00034 #include "vtkImageReader2.h" 00035 00036 class vtkPushPipeline; 00037 00038 class VTK_HYBRID_EXPORT vtkPushImageReader : public vtkImageReader2 00039 { 00040 public: 00041 static vtkPushImageReader *New(); 00042 vtkTypeRevisionMacro(vtkPushImageReader,vtkImageReader2); 00043 void PrintSelf(ostream& os, vtkIndent indent); 00044 00046 00047 vtkGetMacro(CurrentSlice,int); 00048 vtkSetMacro(CurrentSlice,int); 00050 00052 void Push(); 00053 00055 void Run(); 00056 00058 00059 virtual void SetPushPipeline(vtkPushPipeline *); 00060 vtkGetObjectMacro(PushPipeline,vtkPushPipeline); 00062 00063 protected: 00064 vtkPushImageReader(); 00065 ~vtkPushImageReader(); 00066 00067 vtkPushPipeline *PushPipeline; 00068 00069 int CurrentSlice; 00070 virtual void ExecuteInformation(); 00071 virtual void ExecuteData(vtkDataObject *out); 00072 private: 00073 vtkPushImageReader(const vtkPushImageReader&); // Not implemented. 00074 void operator=(const vtkPushImageReader&); // Not implemented. 00075 }; 00076 #endif 00077 00078