VTK  9.3.0
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 
50 
58 
60 
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 
113 
115 
121  vtkSetMacro(Tolerance, double);
122  vtkGetMacro(Tolerance, double);
124 
126 
133  vtkSetMacro(ComputeTolerance, bool);
134  vtkGetMacro(ComputeTolerance, bool);
136 
137 protected:
139 
145 
147 
154 
156 
162 
164 
168 
172  bool PassAttributeData(vtkDataSet* input, vtkDataSet* output);
173 
177  bool DoProbing(
178  vtkDataSet* input, vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
179 
183  bool Reduce(vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
184 
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
Abstract superclass for all arrays.
Proxy object to connect input/output ports.
dynamic, self-adjusting array of char
Definition: vtkCharArray.h:50
Superclass for algorithms that produce output of the same type as input.
abstract class to specify dataset behavior
Definition: vtkDataSet.h:62
abstract base class for objects that implement accelerated searches through HyperTree Grids (HTGs)
vtkIdTypeArray * GetValidPoints()
Get the list of point ids in the output that contain attribute data from the source.
vtkHyperTreeGrid * GetSource()
Specify the data set that will be probed at the input points.
void SetSourceData(vtkHyperTreeGrid *source)
Specify the data set that will be probed at the input points.
void SetSourceConnection(vtkAlgorithmOutput *algOutput)
Specify the data set that will be probed at the input points.
vtkSmartPointer< vtkHyperTreeGridLocator > Locator
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for processing requests.
~vtkHyperTreeGridProbeFilter() override
Construction methods.
bool Reduce(vtkHyperTreeGrid *source, vtkDataSet *output, vtkIdList *localPointIds)
Helper method for reducing the data after probing.
int FillInputPortInformation(int, vtkInformation *) override
Input port should have 2 inputs: input (a dataset) and a source (an HTG).
virtual vtkHyperTreeGridLocator * GetLocator()
Set and get the locator object.
bool DoProbing(vtkDataSet *input, vtkHyperTreeGrid *source, vtkDataSet *output, vtkIdList *localPointIds)
Helper method for performing the probing.
vtkHyperTreeGridProbeFilter()
Construction methods.
void FillDefaultArray(vtkAbstractArray *aa) const
Helper method for filling arrays with default values.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for processing requests.
vtkSmartPointer< vtkCharArray > MaskPoints
void DealWithRemote(vtkIdList *remotePointIds, vtkDataSet *remoteOutput, vtkHyperTreeGrid *source, vtkDataSet *totOutput)
Helper method for dealing with arrays coming from remote locations during the reduce operation.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static vtkHyperTreeGridProbeFilter * New()
virtual void SetLocator(vtkHyperTreeGridLocator *)
Set and get the locator object.
bool PassAttributeData(vtkDataSet *input, vtkDataSet *output)
Helper method for passing data from input to output.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for processing requests.
bool Initialize(vtkDataSet *input, vtkHyperTreeGrid *source, vtkDataSet *output)
Helper method for initializing the output and local arrays for all processes.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
list of point or cell ids
Definition: vtkIdList.h:32
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition: vtkIndent.h:38
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
@ string
Definition: vtkX3D.h:490
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)