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 
76 #ifndef vtkPUnstructuredGridGhostCellsGenerator_h
77 #define vtkPUnstructuredGridGhostCellsGenerator_h
78 
79 #include "vtkFiltersParallelGeometryModule.h" // For export macro
81 
85 
86 class VTKFILTERSPARALLELGEOMETRY_EXPORT vtkPUnstructuredGridGhostCellsGenerator:
88 {
90 
91 public:
92  void PrintSelf(ostream& os, vtkIndent indent);
93 
95 
97 
100  void SetController(vtkMultiProcessController *c);
101  vtkGetObjectMacro(Controller, vtkMultiProcessController);
103 
105 
109  vtkSetMacro(UseGlobalPointIds, bool);
110  vtkGetMacro(UseGlobalPointIds, bool);
111  vtkBooleanMacro(UseGlobalPointIds, bool);
113 
115 
119  vtkSetStringMacro(GlobalPointIdsArrayName);
120  vtkGetStringMacro(GlobalPointIdsArrayName);
122 
124 
132  vtkSetMacro(HasGlobalCellIds, bool);
133  vtkGetMacro(HasGlobalCellIds, bool);
134  vtkBooleanMacro(HasGlobalCellIds, bool);
136 
138 
142  vtkSetStringMacro(GlobalCellIdsArrayName);
143  vtkGetStringMacro(GlobalCellIdsArrayName);
145 
147 
153  vtkSetMacro(BuildIfRequired, bool);
154  vtkGetMacro(BuildIfRequired, bool);
155  vtkBooleanMacro(BuildIfRequired, bool);
157 
159 
166  vtkSetClampMacro(MinimumNumberOfGhostLevels, int, 1, VTK_INT_MAX);
167  vtkGetMacro(MinimumNumberOfGhostLevels, int);
169 
170 protected:
173 
176 
177  void GetFirstGhostLayer(int, vtkUnstructuredGrid *);
178 
179  void ExtractAndReduceSurfacePoints();
180 
181  void ComputeSharedPoints();
182 
183  void ExtractAndSendGhostCells(vtkUnstructuredGridBase *);
184 
185  void ReceiveAndMergeGhostCells(int, vtkUnstructuredGridBase *,
187 
188  void AddGhostLayer(int ghostLevel, int maxGhostLevel);
189 
190  void FindGhostCells();
191 
192  void AddGlobalCellIds();
193 
194  void RemoveGlobalCellIds();
195 
196 
198 
199  int NumRanks;
200  int RankId;
207 
208 private:
209  struct vtkInternals;
210  vtkInternals *Internals;
211 
213  void operator=(const vtkPUnstructuredGridGhostCellsGenerator&) VTK_DELETE_FUNCTION;
214 };
215 
216 #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:153
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:39
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.