VTK  9.2.6
vtkPUnstructuredGridGhostCellsGenerator.h
Go to the documentation of this file.
1 /*=========================================================================
2 
3  Program: Visualization Toolkit
4  Module: vtkPUnstructuredGridGhostCellsGenerator.h
5 
6  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
7  All rights reserved.
8  See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
9 
10  This software is distributed WITHOUT ANY WARRANTY; without even
11  the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
12  PURPOSE. See the above copyright notice for more information.
13 
14 =========================================================================*/
15 
78 #ifndef vtkPUnstructuredGridGhostCellsGenerator_h
79 #define vtkPUnstructuredGridGhostCellsGenerator_h
80 
81 #include "vtkDeprecation.h" // For VTK_DEPRECATED_IN_9_1_0
82 #include "vtkFiltersParallelGeometryModule.h" // For export macro
84 #include <vector> // For passing data between methods
85 
87 
89  VTKFILTERSPARALLELGEOMETRY_EXPORT vtkPUnstructuredGridGhostCellsGenerator
91 {
93 
94 public:
95  void PrintSelf(ostream& os, vtkIndent indent) override;
96 
98 
100 
103  void SetController(vtkMultiProcessController* c);
104  vtkGetObjectMacro(Controller, vtkMultiProcessController);
106 
107 protected:
110 
112 
113  void GetFirstGhostLayer(int, vtkUnstructuredGrid*);
114 
115  void ExchangeBoundsAndDetermineNeighbors(std::vector<double>&);
116  void ExtractAndReduceSurfacePointsShareData(std::vector<double>&);
117  void ComputeSharedPoints();
118 
119  void ExtractAndSendGhostCells(vtkUnstructuredGridBase*);
120 
121  void ReceiveAndMergeGhostCells(int, int, vtkUnstructuredGridBase*, vtkUnstructuredGrid*);
122 
123  void AddGhostLayer(int ghostLevel, int maxGhostLevel);
124 
125  void FindGhostCells();
126 
127  void AddGlobalCellIds();
128 
129  void RemoveGlobalCellIds();
130 
132 
133 private:
134  struct vtkInternals;
135  vtkInternals* Internals;
136 
138  void operator=(const vtkPUnstructuredGridGhostCellsGenerator&) = delete;
139 };
140 
141 #endif
142 
143 // VTK-HeaderTest-Exclude: vtkPUnstructuredGridGhostCellsGenerator.h
Builds ghost cells for a distributed unstructured grid dataset.
#define VTK_DEPRECATED_IN_9_1_0(reason)
Store vtkAlgorithm input/output information.
static vtkUnstructuredGridGhostCellsGenerator * New()
Computes ghost cells on vtkCompositeDataSet inputs.
a simple class to control print indentation
Definition: vtkIndent.h:39
dataset represents arbitrary combinations of all possible cell types
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
Builds ghost cells for a distributed unstructured grid dataset.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
Store zero or more vtkInformation instances.
dataset represents arbitrary combinations of all possible cell types.
Multiprocessing communication superclass.