OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkImageDataGeometryFilter.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkImageDataGeometryFilter.h,v $
5   Language:  C++
6   Date:      $Date: 2002/01/22 15:29:24 $
7   Version:   $Revision: 1.3 $
8
9   Copyright (c) 1993-2002 Ken Martin, Will Schroeder, Bill Lorensen 
10   All rights reserved.
11   See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
12
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.
16
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.)
25 //
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).
28 // .SECTION Caveats
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.
34
35 // .SECTION See Also
36 // vtkGeometryFilter vtkStructuredGridFilter
37
38 #ifndef __vtkImageDataGeometryFilter_h
39 #define __vtkImageDataGeometryFilter_h
40
41 #include "vtkStructuredPointsToPolyDataFilter.h"
42
43 class VTK_GRAPHICS_EXPORT vtkImageDataGeometryFilter : public vtkStructuredPointsToPolyDataFilter
44 {
45 public:
46   vtkTypeRevisionMacro(vtkImageDataGeometryFilter,vtkStructuredPointsToPolyDataFilter);
47   void PrintSelf(ostream& os, vtkIndent indent);
48   
49   // Description:
50   // Construct with initial extent of all the data
51   static vtkImageDataGeometryFilter *New();
52
53   
54   // Description:
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;};
59
60 protected:
61   vtkImageDataGeometryFilter();
62   ~vtkImageDataGeometryFilter() {};
63
64   void Execute();
65   int Extent[6];
66 private:
67   vtkImageDataGeometryFilter(const vtkImageDataGeometryFilter&);  // Not implemented.
68   void operator=(const vtkImageDataGeometryFilter&);  // Not implemented.
69 };
70
71 #endif