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
23VTK_ABI_NAMESPACE_BEGIN
24class vtkCharArray;
25class vtkIdList;
26class vtkIdTypeArray;
27class vtkDataSet;
30
31class VTKFILTERSCORE_EXPORT vtkHyperTreeGridProbeFilter : public vtkDataSetAlgorithm
32{
33public:
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
137protected:
139
145
147
154
156
162
164
168
173
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
209private:
211 void operator=(const vtkHyperTreeGridProbeFilter&) = delete;
212
213}; // vtkHyperTreeGridProbeFilter
214
215VTK_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
Superclass for algorithms that produce output of the same type as input.
abstract class to specify dataset behavior
Definition vtkDataSet.h:53
abstract base class for objects that implement accelerated searches through HyperTree Grids (HTGs)
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.
static vtkHyperTreeGridProbeFilter * New()
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).
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.
virtual vtkHyperTreeGridLocator * GetLocator()
Set and get the locator object.
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.
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.
vtkHyperTreeGrid * GetSource()
Specify the data set that will be probed at the input points.
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.
vtkIdTypeArray * GetValidPoints()
Get the list of point ids in the output that contain attribute data from the source.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
list of point or cell ids
Definition vtkIdList.h:23
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:29
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:51
Hold a reference to a vtkObjectBase instance.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)