VTK  9.3.1
vtkHyperTreeGridProbeFilter.h
Go to the documentation of this file.
1 // SPDX-FileCopyrightText: Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
2 // SPDX-License-Identifier: BSD-3-Clause
15 #ifndef vtkHyperTreeGridProbeFilter_h
16 #define vtkHyperTreeGridProbeFilter_h
17 
18 #include "vtkDataSetAlgorithm.h"
19 #include "vtkFiltersCoreModule.h" //For export Macro
20 #include "vtkNew.h" //For init in header
21 #include "vtkSmartPointer.h" //For members
22 
23 VTK_ABI_NAMESPACE_BEGIN
24 class vtkCharArray;
25 class vtkIdList;
26 class vtkIdTypeArray;
27 class vtkDataSet;
28 class vtkHyperTreeGrid;
30 
31 class VTKFILTERSCORE_EXPORT vtkHyperTreeGridProbeFilter : public vtkDataSetAlgorithm
32 {
33 public:
35 
36  void PrintSelf(ostream& os, vtkIndent indent) override;
37 
39 
41 
47  void SetSourceData(vtkHyperTreeGrid* source);
48  vtkHyperTreeGrid* GetSource();
50 
57  void SetSourceConnection(vtkAlgorithmOutput* algOutput);
58 
60 
63  virtual vtkHyperTreeGridLocator* GetLocator();
64  virtual void SetLocator(vtkHyperTreeGridLocator*);
66 
68 
72  vtkSetMacro(PassCellArrays, bool);
73  vtkBooleanMacro(PassCellArrays, bool);
74  vtkGetMacro(PassCellArrays, bool);
77 
81  vtkSetMacro(PassPointArrays, bool);
82  vtkBooleanMacro(PassPointArrays, bool);
83  vtkGetMacro(PassPointArrays, bool);
85 
87 
91  vtkSetMacro(PassFieldArrays, bool);
92  vtkBooleanMacro(PassFieldArrays, bool);
93  vtkGetMacro(PassFieldArrays, bool);
95 
97 
102  vtkSetMacro(ValidPointMaskArrayName, std::string);
103  vtkGetMacro(ValidPointMaskArrayName, std::string);
105 
107 
111  vtkIdTypeArray* GetValidPoints();
113 
115 
121  vtkSetMacro(Tolerance, double);
122  vtkGetMacro(Tolerance, double);
124 
126 
133  vtkSetMacro(ComputeTolerance, bool);
134  vtkGetMacro(ComputeTolerance, bool);
136 
137 protected:
139 
143  ~vtkHyperTreeGridProbeFilter() override;
145 
147 
154 
156 
160  int FillInputPortInformation(int, vtkInformation*) override;
162 
164 
167  bool Initialize(vtkDataSet* input, vtkHyperTreeGrid* source, vtkDataSet* output);
168 
172  bool PassAttributeData(vtkDataSet* input, vtkDataSet* output);
173 
177  bool DoProbing(
178  vtkDataSet* input, vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
179 
183  virtual bool Reduce(vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
184 
188  void FillDefaultArray(vtkAbstractArray* aa) const;
189 
193  void DealWithRemote(vtkIdList* remotePointIds, vtkDataSet* remoteOutput, vtkHyperTreeGrid* source,
194  vtkDataSet* totOutput);
196 
198 
199  bool PassCellArrays = false;
200  bool PassPointArrays = false;
201  bool PassFieldArrays = true;
202  double Tolerance = 0.0;
203  bool ComputeTolerance = true;
204 
205  std::string ValidPointMaskArrayName = "vtkValidPointMask";
208 
209 private:
211  void operator=(const vtkHyperTreeGridProbeFilter&) = delete;
212 
213 }; // vtkHyperTreeGridProbeFilter
214 
215 VTK_ABI_NAMESPACE_END
216 #endif // vtkHyperTreeGridProbeFilter_h
vtkSmartPointer< vtkHyperTreeGridLocator > Locator
Store vtkAlgorithm input/output information.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:52
Abstract superclass for all arrays.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
dynamic, self-adjusting array of vtkIdType
Proxy object to connect input/output ports.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:40
a simple class to control print indentation
Definition: vtkIndent.h:28
list of point or cell ids
Definition: vtkIdList.h:22
vtkSmartPointer< vtkCharArray > MaskPoints
virtual int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks the algorithm to do its work.
abstract base class for objects that implement accelerated searches through HyperTree Grids (HTGs) ...
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
virtual int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
virtual int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *)
This is called within ProcessRequest when a request asks for Information.
Store zero or more vtkInformation instances.
Superclass for algorithms that produce output of the same type as input.
static vtkDataSetAlgorithm * New()
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.