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
vtkUnstructuredGridGhostCellsGenerator
Builds ghost cells for a distributed unstructured grid dataset.
Definition: vtkUnstructuredGridGhostCellsGenerator.h:42
vtkPUnstructuredGridGhostCellsGenerator
Builds ghost cells for a distributed unstructured grid dataset.
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:87
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:35
vtkUnstructuredGridBase
dataset represents arbitrary combinations of all possible cell types. May be mapped onto a non-standa...
Definition: vtkUnstructuredGridBase.h:34
vtkUnstructuredGridGhostCellsGenerator::New
static vtkUnstructuredGridGhostCellsGenerator * New()
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:75
vtkUnstructuredGridGhostCellsGenerator::RequestData
int RequestData(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called by the superclass.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:33
vtkUnstructuredGridGhostCellsGenerator.h
vtkUnstructuredGridGhostCellsGenerator::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:73
vtkPUnstructuredGridGhostCellsGenerator::Controller
vtkMultiProcessController * Controller
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:129
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:92