67 #ifndef vtkPUnstructuredGridConnectivity_h
68 #define vtkPUnstructuredGridConnectivity_h
70 #include "vtkFiltersParallelGeometryModule.h"
73 #if !defined(VTK_LEGACY_REMOVE)
94 struct CommunicationLinks;
119 vtkSetStringMacro(GlobalIDFieldName);
169 const unsigned int numGhostCells);
179 const unsigned int numGhostNodes);
represent and manipulate cell attribute data
abstract class to specify cell behavior
list of point or cell ids
dynamic, self-adjusting array of vtkIdType
a simple class to control print indentation
Process communication using MPI.
stream used to pass data across processes using vtkMultiProcessController.
abstract base class for most VTK objects
vtkPUnstructuredGridConnectivity implements functionality for generating ghost zones for a distribute...
void ExtractSurfaceMesh()
Loops through the auxiliary FaceList, constructed in MarkFaces, and extracts the faces and nodes on t...
void FillGhostZoneNodes(const int neiRank, vtkPointData *ghostData, vtkIdType *globalIdx, const unsigned int numGhostNodes)
Given the deserialized node-centered ghost data from the given neighboring rank, this method fills in...
void InsertGhostCellNodes(vtkCell *ghostCell, vtkIdTypeArray *ghostGridGlobalIdx, vtkIdType *globalIdArray, vtkUnstructuredGrid *bGrid, vtkIdType *cellPts)
Inserts the ghost cell nodes in to the ghosted instance of the grid.
vtk::details::CommunicationLinks * CommLists
void ExchangeBoundaryGridSizes(int size)
Exchange boundary grid sizes.
void ExchangeGridBounds()
Exchanges the grid bounds of this process with all other processes.
void BuildGhostZoneConnectivity()
Builds the ghost-zone connectivity.
void BoundingBoxCollision()
Collides the bounds of this process with the bounding boxes of all other processes.
void DeSerializeGhostZones()
Deserializes the raw buffers received from each neighboring rank and updates the ghosted grid instanc...
void ProcessRemoteGrid(const int rmtRank, vtkUnstructuredGrid *bGrid)
Process the remote boundary grid and injects cells in to the ghosted grid if a match is found.
vtkUnstructuredGrid * GhostedGrid
void CreatePersistentRcvBuffers()
This method exchanges the buffer sizes among neighboring processes and allocates a persistent buffer ...
void WriteUnstructuredGrid(vtkUnstructuredGrid *grid, const char *fileName)
Writes the given unstructured grid to an ASCII file.
void ExtractBoundaryGrid()
Extracts the boundary grid geometry from the input grid.
vtkPUnstructuredGridConnectivity()
void RegisterGrid(vtkUnstructuredGrid *gridPtr)
Registers the grid in this process.
void EnqueueNodeLinks(const int rmtRank, const vtkIdType ghostCell, const vtkIdType adjCell, vtkIdList *shared)
Loops through the nodes of the ghost cell and the local adjacent cell and determines what.
void MarkFaces()
Loops through the input grid cell faces and updates the auxiliary data-structures to associates a cou...
vtkUnstructuredGrid * InputGrid
void ExtractBoundaryCell(const vtkIdType cellIdx, const vtkIdType numCellNodes, vtkIdType *cellNodes, vtkPoints *nodes, vtkIdTypeArray *localIdx, vtkIdTypeArray *globaIdx)
Extracts the boundary cell from the input grid and inserts it in to the boundary grid.
void ExchangeBoundaryGrids()
Exchanged the boundary grids among candidate ranks.
void FillGhostZoneCells(const int neiRank, vtkCellData *ghostData, vtkIdType *cellIdx, const unsigned int numGhostCells)
Given the deserialized cell-centered ghost data from the given neighboring rank, this method fills in...
static vtkPUnstructuredGridConnectivity * New()
bool IsCellOnBoundary(vtkIdType *cellNodes, vtkIdType N)
Checks if the cell, composed by the supplied nodes, is on the boundary.
void BuildGhostedGridAndCommLists()
Builds the ghosted grid and communication lists.
vtk::details::GridInfo * AuxiliaryData
void DeSerializeUnstructuredGrid(vtkUnstructuredGrid *g, vtkMultiProcessStream &bytestream)
De-serializes the unstructured grid from the given bytestream.
bool IsCellConnected(vtkCell *c, vtkIdType *globalId, const vtkIdType N, vtkIdType &adjCell, vtkIdList *sharedIds)
Given the cell, c, this method checks if it is connected to the grid assigned to this process.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void SynchLocalData()
Synchs the data on the input grid in this process to the ghosted grid instance.
void UpdateGhosts()
Exchanges ghost zone data (i.e., node-centered or cell-centered fields).
void SerializeUnstructuredGrid(vtkUnstructuredGrid *g, vtkMultiProcessStream &bytestream)
Serializes the unstructured grid into a bytestream.
vtkMPIController * Controller
virtual ~vtkPUnstructuredGridConnectivity()
void SerializeGhostZones()
This method serializes the local data (node-centered and/or cell-centered) for each rank that this pr...
represent and manipulate point attribute data
represent and manipulate 3D points
dataset represents arbitrary combinations of all possible cell types
vtkSetMacro(IgnoreDriverBugs, bool)
Updates the extensions string.
vtkGetStringMacro(ExtensionsString)
Returns a string listing all available extensions.