VTK  9.0.1
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 "vtkFiltersParallelGeometryModule.h" // For export macro
83 #include <vector> // For passing data between methods
84 
86 
87 class VTKFILTERSPARALLELGEOMETRY_EXPORT vtkPUnstructuredGridGhostCellsGenerator
89 {
91 
92 public:
93  void PrintSelf(ostream& os, vtkIndent indent) override;
94 
96 
98 
101  void SetController(vtkMultiProcessController* c);
102  vtkGetObjectMacro(Controller, vtkMultiProcessController);
104 
105 protected:
108 
110 
111  void GetFirstGhostLayer(int, vtkUnstructuredGrid*);
112 
113  void ExchangeBoundsAndDetermineNeighbors(std::vector<double>&);
114  void ExtractAndReduceSurfacePointsShareData(std::vector<double>&);
115  void ComputeSharedPoints();
116 
117  void ExtractAndSendGhostCells(vtkUnstructuredGridBase*);
118 
119  void ReceiveAndMergeGhostCells(int, int, vtkUnstructuredGridBase*, vtkUnstructuredGrid*);
120 
121  void AddGhostLayer(int ghostLevel, int maxGhostLevel);
122 
123  void FindGhostCells();
124 
125  void AddGlobalCellIds();
126 
127  void RemoveGlobalCellIds();
128 
130 
131 private:
132  struct vtkInternals;
133  vtkInternals* Internals;
134 
136  void operator=(const vtkPUnstructuredGridGhostCellsGenerator&) = delete;
137 };
138 
139 #endif
Builds ghost cells for a distributed unstructured grid dataset.
Store vtkAlgorithm input/output information.
static vtkUnstructuredGridGhostCellsGenerator * New()
a simple class to control print indentation
Definition: vtkIndent.h:33
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.