OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I686LINUX / util / I686LINUX / include / vtk / vtkImageExtractComponents.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkImageExtractComponents.h,v $
5   Language:  C++
6   Date:      $Date: 2002/01/22 15:32:29 $
7   Version:   $Revision: 1.26 $
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 vtkImageExtractComponents - Outputs a single component
19 // .SECTION Description
20 // vtkImageExtractComponents takes an input with any number of components
21 // and outputs some of them.  It does involve a copy of the data.
22
23 // .SECTION See Also
24 // vtkImageAppendComponents
25
26 #ifndef __vtkImageExtractComponents_h
27 #define __vtkImageExtractComponents_h
28
29
30 #include "vtkImageToImageFilter.h"
31
32 class VTK_IMAGING_EXPORT vtkImageExtractComponents : public vtkImageToImageFilter
33 {
34 public:
35   static vtkImageExtractComponents *New();
36   vtkTypeRevisionMacro(vtkImageExtractComponents,vtkImageToImageFilter);
37   void PrintSelf(ostream& os, vtkIndent indent);
38
39   // Description:
40   // Set/Get the components to extract.
41   void SetComponents(int c1);
42   void SetComponents(int c1, int c2);
43   void SetComponents(int c1, int c2, int c3);
44   vtkGetVector3Macro(Components,int);
45   
46   // Description:
47   // Get the number of components to extract. This is set implicitly by the 
48   // SetComponents() method.
49   vtkGetMacro(NumberOfComponents,int);
50
51 protected:
52   vtkImageExtractComponents();
53   ~vtkImageExtractComponents() {};
54
55   int NumberOfComponents;
56   int Components[3];
57
58   void ExecuteInformation(vtkImageData *inData, vtkImageData *outData);
59   void ExecuteInformation(){this->vtkImageToImageFilter::ExecuteInformation();};
60   void ThreadedExecute(vtkImageData *inData, vtkImageData *outData, 
61                        int ext[6], int id);
62 private:
63   vtkImageExtractComponents(const vtkImageExtractComponents&);  // Not implemented.
64   void operator=(const vtkImageExtractComponents&);  // Not implemented.
65 };
66
67 #endif
68
69
70
71
72
73
74
75
76
77