vtkPVDataSetAlgorithmSelectorFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Kitware Inc.
2 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
3 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkPVDataSetAlgorithmSelectorFilter_h
16 #define vtkPVDataSetAlgorithmSelectorFilter_h
17 
18 #include "vtkAlgorithm.h"
19 #include "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
20 
21 class vtkCallbackCommand;
22 
24  : public vtkAlgorithm
25 {
26 public:
28  void PrintSelf(ostream& os, vtkIndent indent) override;
29 
31 
38  int RegisterFilter(vtkAlgorithm* filter);
39 
43  void UnRegisterFilter(int index);
44 
48  void ClearFilters();
49 
53  int GetNumberOfFilters();
54 
58  vtkAlgorithm* GetFilter(int index);
59 
63  vtkAlgorithm* GetActiveFilter();
64 
69  virtual vtkAlgorithm* SetActiveFilter(int index);
70 
74  vtkMTimeType GetMTime() override;
75 
79  int ProcessRequest(
80  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
81 
85  virtual int ProcessRequest(
86  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
87 
88 protected:
91 
92  virtual int RequestDataObject(
94  int FillInputPortInformation(int port, vtkInformation* info) override;
95  int FillOutputPortInformation(int port, vtkInformation* info) override;
96 
97  vtkGetMacro(OutputType, int);
98  vtkSetMacro(OutputType, int);
99  int OutputType;
100 
101  // Callback registered with the InternalProgressObserver.
102  static void InternalProgressCallbackFunction(vtkObject*, unsigned long, void* clientdata, void*);
103  void InternalProgressCallback(vtkAlgorithm* algorithm);
104  // The observer to report progress from the internal filters.
106 
107 private:
109  void operator=(const vtkPVDataSetAlgorithmSelectorFilter&) = delete;
110 
111  class vtkInternals;
112  vtkInternals* Internal;
113 };
114 
115 #endif
virtual int ProcessRequest(vtkInformation *request, vtkInformationVector **inInfo, vtkInformationVector *outInfo)
vtkTypeUInt64 vtkMTimeType
virtual int FillOutputPortInformation(int port, vtkInformation *info)
is a generic vtkAlgorithm that allow the user to register several vtkAlgorithm to it and be able to s...
virtual vtkMTimeType GetMTime()
#define VTKPVVTKEXTENSIONSFILTERSGENERAL_EXPORT
virtual int FillInputPortInformation(int port, vtkInformation *info)
void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
static vtkAlgorithm * New()
void operator=(const vtkObjectBase &)