ParaView
vtkPVDataSetAlgorithmSelectorFilter.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPVDataSetAlgorithmSelectorFilter.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
26 #ifndef vtkPVDataSetAlgorithmSelectorFilter_h
27 #define vtkPVDataSetAlgorithmSelectorFilter_h
28 
29 #include "vtkAlgorithm.h"
30 #include "vtkPVVTKExtensionsDefaultModule.h" //needed for exports
31 
32 class VTKPVVTKEXTENSIONSDEFAULT_EXPORT vtkPVDataSetAlgorithmSelectorFilter : public vtkAlgorithm
33 {
34 public:
35  vtkTypeMacro(vtkPVDataSetAlgorithmSelectorFilter, vtkAlgorithm);
36  void PrintSelf(ostream& os, vtkIndent indent);
37 
39 
46  int RegisterFilter(vtkAlgorithm* filter);
47 
51  void UnRegisterFilter(int index);
52 
56  void ClearFilters();
57 
61  int GetNumberOfFilters();
62 
66  vtkAlgorithm* GetFilter(int index);
67 
71  vtkAlgorithm* GetActiveFilter();
72 
77  virtual vtkAlgorithm* SetActiveFilter(int index);
78 
82  vtkMTimeType GetMTime();
83 
87  virtual int ProcessRequest(
88  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo);
89 
93  virtual int ProcessRequest(
94  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
95 
96 protected:
99 
100  virtual int RequestDataObject(
101  vtkInformation*, vtkInformationVector**, vtkInformationVector* outputVector);
102  virtual int FillInputPortInformation(int port, vtkInformation* info);
103  virtual int FillOutputPortInformation(int port, vtkInformation* info);
104 
105  vtkGetMacro(OutputType, int);
106  vtkSetMacro(OutputType, int);
107  int OutputType;
108 
109 private:
111  const vtkPVDataSetAlgorithmSelectorFilter&) VTK_DELETE_FUNCTION;
112  void operator=(const vtkPVDataSetAlgorithmSelectorFilter&) VTK_DELETE_FUNCTION;
113 
114  class vtkInternals;
115  vtkInternals* Internal;
116 };
117 
118 #endif
is a generic vtkAlgorithm that allow the user to register several vtkAlgorithm to it and be able to s...