OSDN Git Service

FIRST REPOSITORY
[eos/hostdependOTHERS.git] / I386LINUX / util / I386LINUX / include / vtk / vtkMergeFilter.h
1 /*=========================================================================
2
3   Program:   Visualization Toolkit
4   Module:    $RCSfile: vtkMergeFilter.h,v $
5   Language:  C++
6   Date:      $Date: 2002/01/22 15:29:30 $
7   Version:   $Revision: 1.54 $
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 vtkMergeFilter - extract separate components of data from different datasets
19 // .SECTION Description
20 // vtkMergeFilter is a filter that extracts separate components of data from
21 // different datasets and merges them into a single dataset. The output from
22 // this filter is of the same type as the input (i.e., vtkDataSet.) It treats 
23 // both cell and point data set attributes.
24
25 #ifndef __vtkMergeFilter_h
26 #define __vtkMergeFilter_h
27
28 #include "vtkDataSetToDataSetFilter.h"
29
30 class vtkFieldList;
31
32 class VTK_GRAPHICS_EXPORT vtkMergeFilter : public vtkDataSetToDataSetFilter
33 {
34 public:
35   static vtkMergeFilter *New();
36   vtkTypeRevisionMacro(vtkMergeFilter,vtkDataSetToDataSetFilter);
37   void PrintSelf(ostream& os, vtkIndent indent);
38
39   // Description:
40   // Specify object from which to extract geometry information.
41   void SetGeometry(vtkDataSet *input) {this->SetInput(input);};
42   vtkDataSet *GetGeometry() {return this->GetInput();};
43
44   // Description:
45   // Specify object from which to extract scalar information.
46   void SetScalars(vtkDataSet *);
47   vtkDataSet *GetScalars();
48
49   // Description:
50   // Set / get the object from which to extract vector information.
51   void SetVectors(vtkDataSet *);
52   vtkDataSet *GetVectors();
53   
54   // Description:
55   // Set / get the object from which to extract normal information.
56   void SetNormals(vtkDataSet *);
57   vtkDataSet *GetNormals();
58   
59   // Description:
60   // Set / get the object from which to extract texture coordinates
61   // information.
62   void SetTCoords(vtkDataSet *);
63   vtkDataSet *GetTCoords();
64
65   // Description:
66   // Set / get the object from which to extract tensor data.
67   void SetTensors(vtkDataSet *);
68   vtkDataSet *GetTensors();
69
70   // Description:
71   // Set the object from which to extract a field and the name
72   // of the field
73   void AddField(const char* name, vtkDataSet* input);
74
75 protected:
76   vtkMergeFilter();
77   ~vtkMergeFilter();
78
79   // Usual data generation method
80   void Execute();
81   void ComputeInputUpdateExtents(vtkDataObject *data);
82
83   vtkFieldList* FieldList;
84 private:
85   vtkMergeFilter(const vtkMergeFilter&);  // Not implemented.
86   void operator=(const vtkMergeFilter&);  // Not implemented.
87   };
88
89 #endif
90
91