VTK
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 
73 #ifndef vtkPUnstructuredGridGhostCellsGenerator_h
74 #define vtkPUnstructuredGridGhostCellsGenerator_h
75 
76 #include "vtkFiltersParallelGeometryModule.h" // For export macro
78 
82 
83 class VTKFILTERSPARALLELGEOMETRY_EXPORT vtkPUnstructuredGridGhostCellsGenerator:
85 {
87 
88 public:
89  void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
90 
92 
94 
97  void SetController(vtkMultiProcessController *c);
98  vtkGetObjectMacro(Controller, vtkMultiProcessController);
100 
102 
106  vtkSetMacro(UseGlobalPointIds, bool);
107  vtkGetMacro(UseGlobalPointIds, bool);
108  vtkBooleanMacro(UseGlobalPointIds, bool);
110 
112 
116  vtkSetStringMacro(GlobalPointIdsArrayName);
117  vtkGetStringMacro(GlobalPointIdsArrayName);
119 
121 
129  vtkSetMacro(HasGlobalCellIds, bool);
130  vtkGetMacro(HasGlobalCellIds, bool);
131  vtkBooleanMacro(HasGlobalCellIds, bool);
133 
135 
139  vtkSetStringMacro(GlobalCellIdsArrayName);
140  vtkGetStringMacro(GlobalCellIdsArrayName);
142 
144 
150  vtkSetMacro(BuildIfRequired, bool);
151  vtkGetMacro(BuildIfRequired, bool);
152  vtkBooleanMacro(BuildIfRequired, bool);
154 
156 
163  vtkSetClampMacro(MinimumNumberOfGhostLevels, int, 1, VTK_INT_MAX);
164  vtkGetMacro(MinimumNumberOfGhostLevels, int);
166 
167 protected:
170 
172  vtkInformationVector *) VTK_OVERRIDE;
173 
174  void GetFirstGhostLayer(int, vtkUnstructuredGrid *);
175 
176  void ExtractAndReduceSurfacePoints();
177 
178  void ComputeSharedPoints();
179 
180  void ExtractAndSendGhostCells(vtkUnstructuredGridBase *);
181 
182  void ReceiveAndMergeGhostCells(int, vtkUnstructuredGridBase *,
184 
185  void AddGhostLayer(int ghostLevel, int maxGhostLevel);
186 
187  void FindGhostCells();
188 
189  void AddGlobalCellIds();
190 
191  void RemoveGlobalCellIds();
192 
193 
195 
196  int NumRanks;
197  int RankId;
204 
205 private:
206  struct vtkInternals;
207  vtkInternals *Internals;
208 
210  void operator=(const vtkPUnstructuredGridGhostCellsGenerator&) VTK_DELETE_FUNCTION;
211 };
212 
213 #endif
Builds ghost cells for a distributed unstructured grid dataset.
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
Store vtkAlgorithm input/output information.
#define VTK_INT_MAX
Definition: vtkType.h:157
static vtkUnstructuredGridAlgorithm * New()
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
a simple class to control print indentation
Definition: vtkIndent.h:33
dataset represents arbitrary combinations of all possible cell types
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
Superclass for algorithms that produce only unstructured grid as output.
vtkSetMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
Store zero or more vtkInformation instances.
vtkBooleanMacro(IgnoreDriverBugs, bool)
When set known driver bugs are ignored during driver feature detection.
dataset represents arbitrary combinations of all possible cell types.
Multiprocessing communication superclass.