1 /*=========================================================================
3 Program: Visualization Toolkit
4 Module: $RCSfile: vtkImageDataGeometryFilter.h,v $
6 Date: $Date: 2002/01/22 15:29:24 $
7 Version: $Revision: 1.3 $
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 vtkImageDataGeometryFilter - extract geometry for structured points
19 // .SECTION Description
20 // vtkImageDataGeometryFilter is a filter that extracts geometry from a
21 // structured points dataset. By specifying appropriate i-j-k indices (via the
22 // "Extent" instance variable), it is possible to extract a point, a line, a
23 // plane (i.e., image), or a "volume" from dataset. (Since the output is
24 // of type polydata, the volume is actually a (n x m x o) region of points.)
26 // The extent specification is zero-offset. That is, the first k-plane in
27 // a 50x50x50 volume is given by (0,49, 0,49, 0,0).
29 // If you don't know the dimensions of the input dataset, you can use a large
30 // number to specify extent (the number will be clamped appropriately). For
31 // example, if the dataset dimensions are 50x50x50, and you want a the fifth
32 // k-plane, you can use the extents (0,100, 0,100, 4,4). The 100 will
33 // automatically be clamped to 49.
36 // vtkGeometryFilter vtkStructuredGridFilter
38 #ifndef __vtkImageDataGeometryFilter_h
39 #define __vtkImageDataGeometryFilter_h
41 #include "vtkStructuredPointsToPolyDataFilter.h"
43 class VTK_GRAPHICS_EXPORT vtkImageDataGeometryFilter : public vtkStructuredPointsToPolyDataFilter
46 vtkTypeRevisionMacro(vtkImageDataGeometryFilter,vtkStructuredPointsToPolyDataFilter);
47 void PrintSelf(ostream& os, vtkIndent indent);
50 // Construct with initial extent of all the data
51 static vtkImageDataGeometryFilter *New();
55 // Set / get the extent (imin,imax, jmin,jmax, kmin,kmax) indices.
56 void SetExtent(int extent[6]);
57 void SetExtent(int iMin, int iMax, int jMin, int jMax, int kMin, int kMax);
58 int *GetExtent() { return this->Extent;};
61 vtkImageDataGeometryFilter();
62 ~vtkImageDataGeometryFilter() {};
67 vtkImageDataGeometryFilter(const vtkImageDataGeometryFilter&); // Not implemented.
68 void operator=(const vtkImageDataGeometryFilter&); // Not implemented.