1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkMemoryLimitImageDataStreamer.h,v $
6 Date: $Date: 2002/01/22 15:34:39 $
7 Version: $Revision: 1.6 $
9 Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen
11 See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
13 This software is distributed WITHOUT ANY WARRANTY; without even
14 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
15 PURPOSE. See the above copyright notice for more information.
17 =========================================================================*/
18 // .NAME vtkImageDataStreamer - Initiates streaming on image data.
19 // .SECTION Description
20 // To satisfy a request, this filter calls update on its input
21 // many times with smaller update extents. All processing up stream
22 // streams smaller pieces.
24 #ifndef __vtkMemoryLimitImageDataStreamer_h
25 #define __vtkMemoryLimitImageDataStreamer_h
27 #include "vtkImageDataStreamer.h"
30 class VTK_PARALLEL_EXPORT vtkMemoryLimitImageDataStreamer : public vtkImageDataStreamer
33 static vtkMemoryLimitImageDataStreamer *New();
34 vtkTypeRevisionMacro(vtkMemoryLimitImageDataStreamer,vtkImageDataStreamer);
35 void PrintSelf(ostream& os, vtkIndent indent);
38 // Set / Get the memory limit in kilobytes.
39 vtkSetMacro(MemoryLimit, unsigned long);
40 vtkGetMacro(MemoryLimit, unsigned long);
43 // Need to override since this is where streaming will be done
44 void UpdateData( vtkDataObject *out );
47 vtkMemoryLimitImageDataStreamer();
48 ~vtkMemoryLimitImageDataStreamer() {};
50 unsigned long MemoryLimit;
52 vtkMemoryLimitImageDataStreamer(const vtkMemoryLimitImageDataStreamer&); // Not implemented.
53 void operator=(const vtkMemoryLimitImageDataStreamer&); // Not implemented.