00001 /*========================================================================= 00002 00003 Program: Visualization Toolkit 00004 Module: $RCSfile: vtkImageDataStreamer.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 =========================================================================*/ 00041 #ifndef __vtkImageDataStreamer_h 00042 #define __vtkImageDataStreamer_h 00043 00044 #include "vtkImageToImageFilter.h" 00045 00046 class vtkExtentTranslator; 00047 00048 class VTK_IMAGING_EXPORT vtkImageDataStreamer : public vtkImageToImageFilter 00049 { 00050 public: 00051 static vtkImageDataStreamer *New(); 00052 vtkTypeRevisionMacro(vtkImageDataStreamer,vtkImageToImageFilter); 00053 void PrintSelf(ostream& os, vtkIndent indent); 00054 00056 00059 vtkSetMacro(NumberOfStreamDivisions,int); 00060 vtkGetMacro(NumberOfStreamDivisions,int); 00062 00063 virtual void Update() { this->vtkAlgorithm::Update();}; 00064 virtual void UpdateWholeExtent() { 00065 this->vtkAlgorithm::UpdateWholeExtent();}; 00066 00068 00069 virtual void SetExtentTranslator(vtkExtentTranslator*); 00070 vtkGetObjectMacro(ExtentTranslator,vtkExtentTranslator); 00072 00073 // See the vtkAlgorithm for a desciption of what these do 00074 int ProcessRequest(vtkInformation*, 00075 vtkInformationVector*, 00076 vtkInformationVector*); 00077 00078 protected: 00079 vtkImageDataStreamer(); 00080 ~vtkImageDataStreamer(); 00081 00082 // see the vtkAlgorithm for what these methods do 00083 virtual int FillInputPortInformation(int port, vtkInformation* info); 00084 virtual int FillOutputPortInformation(int port, vtkInformation* info); 00085 00086 vtkExtentTranslator *ExtentTranslator; 00087 int NumberOfStreamDivisions; 00088 int CurrentDivision; 00089 private: 00090 vtkImageDataStreamer(const vtkImageDataStreamer&); // Not implemented. 00091 void operator=(const vtkImageDataStreamer&); // Not implemented. 00092 }; 00093 00094 #endif 00095 00096 00097