VTK  9.3.20240328
vtkGhostCellsGenerator.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
76 #ifndef vtkGhostCellsGenerator_h
77 #define vtkGhostCellsGenerator_h
78 
80 
81 #include "vtkFiltersParallelDIY2Module.h" // for export macros
82 #include "vtkWeakPointer.h" // for vtkWeakPointer
83 
84 VTK_ABI_NAMESPACE_BEGIN
85 class vtkDataObject;
87 
88 class VTKFILTERSPARALLELDIY2_EXPORT vtkGhostCellsGenerator : public vtkPassInputTypeAlgorithm
89 {
90 public:
93  void PrintSelf(ostream& os, vtkIndent indent) override;
94 
96 
103 
105 
109  virtual void Initialize();
110 
112 
118  vtkSetMacro(BuildIfRequired, bool);
119  vtkGetMacro(BuildIfRequired, bool);
120  vtkBooleanMacro(BuildIfRequired, bool);
122 
124 
131  vtkGetMacro(NumberOfGhostLayers, int);
132  vtkSetClampMacro(NumberOfGhostLayers, int, 0, VTK_INT_MAX);
134 
136 
140  vtkSetMacro(GenerateGlobalIds, bool);
141  vtkGetMacro(GenerateGlobalIds, bool);
142  vtkBooleanMacro(GenerateGlobalIds, bool);
144 
146 
150  vtkSetMacro(GenerateProcessIds, bool);
151  vtkGetMacro(GenerateProcessIds, bool);
152  vtkBooleanMacro(GenerateProcessIds, bool);
154 
156 
163  vtkSetMacro(SynchronizeOnly, bool);
164  vtkGetMacro(SynchronizeOnly, bool);
165  vtkBooleanMacro(SynchronizeOnly, bool);
167 
168 protected:
171 
173 
176 
180  virtual int Execute(vtkDataObject* inputDO, vtkInformationVector* outputVector);
181 
186 
187  int NumberOfGhostLayers = 1;
188  bool BuildIfRequired = true;
189 
190 private:
192  void operator=(const vtkGhostCellsGenerator&) = delete;
193 
200  bool CanSynchronize(vtkDataObject* input, bool& canSyncCell, bool& canSyncPoint);
201 
202  bool GenerateGlobalIds = false;
203  bool GenerateProcessIds = false;
204  bool SynchronizeOnly = false;
205 };
206 
207 VTK_ABI_NAMESPACE_END
208 #endif
general representation of visualization data
Computes ghost cells on vtkCompositeDataSet inputs.
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
int FillInputPortInformation(int port, vtkInformation *info) override
Fill the input port information objects for this algorithm.
virtual int Execute(vtkDataObject *inputDO, vtkInformationVector *outputVector)
Runs the filter using custom inputs.
vtkMultiProcessController * GetController()
Get/Set the controller to use.
virtual void Initialize()
Resets parameter.
vtkWeakPointer< vtkMultiProcessController > Controller
Local controller.
~vtkGhostCellsGenerator() override
int RequestUpdateExtent(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when each filter in the pipeline decides what portion of its inp...
static vtkGhostCellsGenerator * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
virtual void SetController(vtkMultiProcessController *)
Get/Set the controller to use.
a simple class to control print indentation
Definition: vtkIndent.h:108
Store zero or more vtkInformation instances.
Store vtkAlgorithm input/output information.
Multiprocessing communication superclass.
Superclass for algorithms that produce output of the same type as input.
@ info
Definition: vtkX3D.h:376
@ port
Definition: vtkX3D.h:447
#define VTK_INT_MAX
Definition: vtkType.h:144