VTK  9.3.20240425
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
26#ifndef vtkHyperTreeGridProbeFilter_h
27#define vtkHyperTreeGridProbeFilter_h
28
29#include "vtkDataSetAlgorithm.h"
30#include "vtkFiltersCoreModule.h" //For export Macro
31#include "vtkNew.h" //For init in header
32#include "vtkSmartPointer.h" //For members
33
34VTK_ABI_NAMESPACE_BEGIN
35class vtkCharArray;
36class vtkIdList;
37class vtkIdTypeArray;
38class vtkDataSet;
41
42class VTKFILTERSCORE_EXPORT vtkHyperTreeGridProbeFilter : public vtkDataSetAlgorithm
43{
44public:
46
47 void PrintSelf(ostream& os, vtkIndent indent) override;
48
50
52
61
69
71
77
79
83 vtkSetMacro(PassCellArrays, bool);
84 vtkBooleanMacro(PassCellArrays, bool);
85 vtkGetMacro(PassCellArrays, bool);
88
92 vtkSetMacro(PassPointArrays, bool);
93 vtkBooleanMacro(PassPointArrays, bool);
94 vtkGetMacro(PassPointArrays, bool);
96
98
102 vtkSetMacro(PassFieldArrays, bool);
103 vtkBooleanMacro(PassFieldArrays, bool);
104 vtkGetMacro(PassFieldArrays, bool);
106
108
113 vtkSetMacro(ValidPointMaskArrayName, std::string);
114 vtkGetMacro(ValidPointMaskArrayName, std::string);
116
118
124
126
132 vtkSetMacro(Tolerance, double);
133 vtkGetMacro(Tolerance, double);
135
137
144 vtkSetMacro(ComputeTolerance, bool);
145 vtkGetMacro(ComputeTolerance, bool);
147
149
162 vtkSetMacro(UseImplicitArrays, bool);
163 vtkGetMacro(UseImplicitArrays, bool);
164 vtkBooleanMacro(UseImplicitArrays, bool);
166
167protected:
169
175
177
184
186
192
194
198
203
208 vtkDataSet* input, vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
209
213 virtual bool Reduce(vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
214
220 void DealWithRemote(vtkIdList* remotePointIds, vtkDataSet* remoteOutput, vtkHyperTreeGrid* source,
221 vtkDataSet* totOutput);
223
231 vtkIdList* remotePointIds, vtkIdList* remoteHandles, vtkIdList* totHandles);
232
237
239
240 bool PassCellArrays = false;
241 bool PassPointArrays = false;
242 bool PassFieldArrays = true;
243 double Tolerance = 0.0;
244 bool ComputeTolerance = true;
245
246 std::string ValidPointMaskArrayName = "vtkValidPointMask";
249
250 bool UseImplicitArrays = false;
251
257
258private:
260 void operator=(const vtkHyperTreeGridProbeFilter&) = delete;
261}; // vtkHyperTreeGridProbeFilter
262
263VTK_ABI_NAMESPACE_END
264#endif // vtkHyperTreeGridProbeFilter_h
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:166
abstract base class for objects that implement accelerated searches through HyperTree Grids (HTGs)
vtkSmartPointer< vtkIdList > Handles
Used to store vtkIndexedArray handles when UseImplicitArrays is on.
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.
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.
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
Methods for processing requests.
void DealWithRemoteHandles(vtkIdList *remotePointIds, vtkIdList *remoteHandles, vtkIdList *totHandles)
Helper method for dealing with handles coming from remote locations during the reduce operation.
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.
virtual bool Reduce(vtkHyperTreeGrid *source, vtkDataSet *output, vtkIdList *localPointIds)
Helper method for reducing the data after probing.
void Finalize(vtkHyperTreeGrid *source, vtkDataSet *output, vtkIdType nanId)
Instantiate and set implicit arrays.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
list of point or cell ids
Definition vtkIdList.h:133
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Definition vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Allocate and hold a VTK object.
Definition vtkNew.h:160
Hold a reference to a vtkObjectBase instance.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
int vtkIdType
Definition vtkType.h:315