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
VTK_INT_MAX
#define VTK_INT_MAX
Definition: vtkType.h:153
vtkPUnstructuredGridGhostCellsGenerator
Builds ghost cells for a distributed unstructured grid dataset.
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:86
vtkInformationVector
Store zero or more vtkInformation instances.
Definition: vtkInformationVector.h:41
vtkUnstructuredGridBase
dataset represents arbitrary combinations of all possible cell types. May be mapped onto a non-standa...
Definition: vtkUnstructuredGridBase.h:37
vtkPUnstructuredGridGhostCellsGenerator::HasGlobalCellIds
bool HasGlobalCellIds
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:204
vtkPUnstructuredGridGhostCellsGenerator::NumRanks
int NumRanks
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:199
vtkMultiProcessController
Multiprocessing communication superclass.
Definition: vtkMultiProcessController.h:82
vtkUnstructuredGridAlgorithm::RequestData
virtual int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector)
This is called by the superclass.
vtkIndent
a simple class to control print indentation
Definition: vtkIndent.h:39
vtkGetStringMacro
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.
vtkPUnstructuredGridGhostCellsGenerator::GlobalCellIdsArrayName
char * GlobalCellIdsArrayName
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:203
vtkPUnstructuredGridGhostCellsGenerator::UseGlobalPointIds
bool UseGlobalPointIds
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:202
vtkPUnstructuredGridGhostCellsGenerator::BuildIfRequired
bool BuildIfRequired
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:205
vtkBooleanMacro
vtkBooleanMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkInformation
Store vtkAlgorithm input/output information.
Definition: vtkInformation.h:86
vtkSetMacro
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkUnstructuredGridAlgorithm::New
static vtkUnstructuredGridAlgorithm * New()
vtkPUnstructuredGridGhostCellsGenerator::RankId
int RankId
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:200
vtkPUnstructuredGridGhostCellsGenerator::GlobalPointIdsArrayName
char * GlobalPointIdsArrayName
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:201
vtkPUnstructuredGridGhostCellsGenerator::MinimumNumberOfGhostLevels
int MinimumNumberOfGhostLevels
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:206
vtkPUnstructuredGridGhostCellsGenerator::Controller
vtkMultiProcessController * Controller
Definition: vtkPUnstructuredGridGhostCellsGenerator.h:197
vtkUnstructuredGridAlgorithm::PrintSelf
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkUnstructuredGridAlgorithm.h
vtkUnstructuredGridAlgorithm
Superclass for algorithms that produce only unstructured grid as output.
Definition: vtkUnstructuredGridAlgorithm.h:40
vtkUnstructuredGrid
dataset represents arbitrary combinations of all possible cell types
Definition: vtkUnstructuredGrid.h:81