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 "vtkPVVTKExtensionsFiltersGeneralModule.h" //needed for exports
31 
32 class vtkCallbackCommand;
33 
35  : public vtkAlgorithm
36 {
37 public:
39  void PrintSelf(ostream& os, vtkIndent indent) override;
40 
42 
49  int RegisterFilter(vtkAlgorithm* filter);
50 
54  void UnRegisterFilter(int index);
55 
59  void ClearFilters();
60 
64  int GetNumberOfFilters();
65 
69  vtkAlgorithm* GetFilter(int index);
70 
74  vtkAlgorithm* GetActiveFilter();
75 
80  virtual vtkAlgorithm* SetActiveFilter(int index);
81 
85  vtkMTimeType GetMTime() override;
86 
90  int ProcessRequest(
91  vtkInformation* request, vtkInformationVector** inInfo, vtkInformationVector* outInfo) override;
92 
96  virtual int ProcessRequest(
97  vtkInformation* request, vtkCollection* inInfo, vtkInformationVector* outInfo);
98 
99 protected:
102 
103  virtual int RequestDataObject(
105  int FillInputPortInformation(int port, vtkInformation* info) override;
106  int FillOutputPortInformation(int port, vtkInformation* info) override;
107 
108  vtkGetMacro(OutputType, int);
109  vtkSetMacro(OutputType, int);
110  int OutputType;
111 
112  // Callback registered with the InternalProgressObserver.
113  static void InternalProgressCallbackFunction(vtkObject*, unsigned long, void* clientdata, void*);
114  void InternalProgressCallback(vtkAlgorithm* algorithm);
115  // The observer to report progress from the internal filters.
117 
118 private:
120  void operator=(const vtkPVDataSetAlgorithmSelectorFilter&) = delete;
121 
122  class vtkInternals;
123  vtkInternals* Internal;
124 };
125 
126 #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 &)