15#ifndef vtkHyperTreeGridGhostCellsGeneratorInternals_h
16#define vtkHyperTreeGridGhostCellsGeneratorInternals_h
30#include <unordered_map>
33VTK_ABI_NAMESPACE_BEGIN
101 std::vector<vtkIdType> indices;
115 std::vector<vtkIdType> indices;
118 typedef std::map<unsigned int, SendBuffer> SendTreeBufferMap;
119 typedef std::map<unsigned int, SendTreeBufferMap> SendProcessBufferMap;
120 typedef std::map<unsigned int, RecvBuffer> RecvTreeBufferMap;
121 typedef std::map<unsigned int, RecvTreeBufferMap> RecvProcessBufferMap;
131 typedef std::unordered_map<unsigned int, FlagType> FlagMap;
137 SendProcessBufferMap SendBuffer;
138 RecvProcessBufferMap RecvBuffer;
142 std::vector<int> HyperTreesMapToProcesses;
int ExchangeSizes()
Exchange the number of ghost cells to be sent between ranks.
void DetermineNeighbors()
Compute the index of neighboring trees and record those that belong to other processes and should be ...
void BroadcastTreeLocations()
Subroutine performing an MPI AllReduce operation, filling the vector HyperTreesMapToProcesses where H...
vtkHyperTreeGridGhostCellsGeneratorInternals(vtkMultiProcessController *controller, vtkHyperTreeGrid *inputHTG, vtkHyperTreeGrid *outputHTG)
void InitializeCellData()
Initialize the internal cell data implicit array handler, with the cell arrays as the first entries o...
void FinalizeCellData()
ProcessTrees subroutine creating the output ghost array and adding it to the output HTG.
std::map< std::string, CellDataArray > CellDataAttributes
int ExchangeCellData()
Exchange cell data information with the other process to fill in values for ghost cells.
int ExchangeTreeDecomposition()
Routine to send and receive tree decomposition, and mask values if present for each tree.
A dataset containing a grid of vtkHyperTree instances arranged as a rectilinear grid.
Multiprocessing communication superclass.
Allocate and hold a VTK object.
Hold a reference to a vtkObjectBase instance.
vtkDataArray * InternalArray
vtkDataArray * GhostCDBuffer