VTK  9.5.20250911
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#include "vtkWrappingHints.h" // For VTK_MARSHALAUTO
34
35VTK_ABI_NAMESPACE_BEGIN
36class vtkCharArray;
37class vtkIdList;
38class vtkIdTypeArray;
39class vtkDataSet;
42
44{
45public:
47
48 void PrintSelf(ostream& os, vtkIndent indent) override;
49
51
53
62
70
72
78
80
84 vtkSetMacro(PassCellArrays, bool);
85 vtkBooleanMacro(PassCellArrays, bool);
86 vtkGetMacro(PassCellArrays, bool);
89
93 vtkSetMacro(PassPointArrays, bool);
94 vtkBooleanMacro(PassPointArrays, bool);
95 vtkGetMacro(PassPointArrays, bool);
97
99
103 vtkSetMacro(PassFieldArrays, bool);
104 vtkBooleanMacro(PassFieldArrays, bool);
105 vtkGetMacro(PassFieldArrays, bool);
107
109
114 vtkSetMacro(ValidPointMaskArrayName, std::string);
115 vtkGetMacro(ValidPointMaskArrayName, std::string);
117
119
125
127
133 vtkSetMacro(Tolerance, double);
134 vtkGetMacro(Tolerance, double);
136
138
145 vtkSetMacro(ComputeTolerance, bool);
146 vtkGetMacro(ComputeTolerance, bool);
148
150
163 vtkSetMacro(UseImplicitArrays, bool);
164 vtkGetMacro(UseImplicitArrays, bool);
165 vtkBooleanMacro(UseImplicitArrays, bool);
167
168protected:
170
176
178
185
187
193
195
199
204
209 vtkDataSet* input, vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
210
214 virtual bool Reduce(vtkHyperTreeGrid* source, vtkDataSet* output, vtkIdList* localPointIds);
215
221 void DealWithRemote(vtkIdList* remotePointIds, vtkDataSet* remoteOutput, vtkHyperTreeGrid* source,
222 vtkDataSet* totOutput);
224
232 vtkIdList* remotePointIds, vtkIdList* remoteHandles, vtkIdList* totHandles);
233
238
240
241 bool PassCellArrays = false;
242 bool PassPointArrays = false;
243 bool PassFieldArrays = true;
244 double Tolerance = 0.0;
245 bool ComputeTolerance = true;
246
247 std::string ValidPointMaskArrayName = "vtkValidPointMask";
250
251 bool UseImplicitArrays = false;
252
258
259private:
261 void operator=(const vtkHyperTreeGridProbeFilter&) = delete;
262}; // vtkHyperTreeGridProbeFilter
263
264VTK_ABI_NAMESPACE_END
265#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:165
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:167
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:332
#define VTK_MARSHALAUTO