23#ifndef vtkCommunicator_h 
   24#define vtkCommunicator_h 
   27#include "vtkParallelCoreModule.h"  
   31VTK_ABI_NAMESPACE_BEGIN
 
   56  vtkGetMacro(NumberOfProcesses, 
int);
 
   63  vtkGetMacro(LocalProcessId, 
int);
 
  140    const void* data, 
vtkIdType length, 
int type, 
int remoteHandle, 
int tag) = 0;
 
  148    return this->SendVoidArray(data, length, 
VTK_INT, remoteHandle, tag);
 
  150  int Send(
const unsigned int* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  152    return this->SendVoidArray(data, length, 
VTK_INT, remoteHandle, tag);
 
  156    return this->SendVoidArray(data, length, 
VTK_SHORT, remoteHandle, tag);
 
  158  int Send(
const unsigned short* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  164    return this->SendVoidArray(data, length, 
VTK_LONG, remoteHandle, tag);
 
  166  int Send(
const unsigned long* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  170  int Send(
const unsigned char* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  176    return this->SendVoidArray(data, length, 
VTK_CHAR, remoteHandle, tag);
 
  178  int Send(
const signed char* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  180    return this->SendVoidArray(data, length, 
VTK_SIGNED_CHAR, remoteHandle, tag);
 
  184    return this->SendVoidArray(data, length, 
VTK_FLOAT, remoteHandle, tag);
 
  188    return this->SendVoidArray(data, length, 
VTK_DOUBLE, remoteHandle, tag);
 
  190  int Send(
const long long* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  192    return this->SendVoidArray(data, length, 
VTK_LONG_LONG, remoteHandle, tag);
 
  194  int Send(
const unsigned long long* data, 
vtkIdType length, 
int remoteHandle, 
int tag)
 
  231    void* data, 
vtkIdType maxlength, 
int type, 
int remoteHandle, 
int tag) = 0;
 
  239    return this->ReceiveVoidArray(data, maxlength, 
VTK_INT, remoteHandle, tag);
 
  243    return this->ReceiveVoidArray(data, maxlength, 
VTK_INT, remoteHandle, tag);
 
  247    return this->ReceiveVoidArray(data, maxlength, 
VTK_SHORT, remoteHandle, tag);
 
  251    return this->ReceiveVoidArray(data, maxlength, 
VTK_UNSIGNED_SHORT, remoteHandle, tag);
 
  255    return this->ReceiveVoidArray(data, maxlength, 
VTK_LONG, remoteHandle, tag);
 
  259    return this->ReceiveVoidArray(data, maxlength, 
VTK_UNSIGNED_LONG, remoteHandle, tag);
 
  263    return this->ReceiveVoidArray(data, maxlength, 
VTK_UNSIGNED_CHAR, remoteHandle, tag);
 
  267    return this->ReceiveVoidArray(data, maxlength, 
VTK_CHAR, remoteHandle, tag);
 
  271    return this->ReceiveVoidArray(data, maxlength, 
VTK_SIGNED_CHAR, remoteHandle, tag);
 
  275    return this->ReceiveVoidArray(data, maxlength, 
VTK_FLOAT, remoteHandle, tag);
 
  279    return this->ReceiveVoidArray(data, maxlength, 
VTK_DOUBLE, remoteHandle, tag);
 
  283    return this->ReceiveVoidArray(data, maxlength, 
VTK_LONG_LONG, remoteHandle, tag);
 
  321    return this->BroadcastVoidArray(data, length, 
VTK_INT, srcProcessId);
 
  325    return this->BroadcastVoidArray(data, length, 
VTK_UNSIGNED_INT, srcProcessId);
 
  329    return this->BroadcastVoidArray(data, length, 
VTK_SHORT, srcProcessId);
 
  337    return this->BroadcastVoidArray(data, length, 
VTK_LONG, srcProcessId);
 
  349    return this->BroadcastVoidArray(data, length, 
VTK_CHAR, srcProcessId);
 
  353    return this->BroadcastVoidArray(data, length, 
VTK_SIGNED_CHAR, srcProcessId);
 
  357    return this->BroadcastVoidArray(data, length, 
VTK_FLOAT, srcProcessId);
 
  361    return this->BroadcastVoidArray(data, length, 
VTK_DOUBLE, srcProcessId);
 
  365    return this->BroadcastVoidArray(data, length, 
VTK_LONG_LONG, srcProcessId);
 
  387  int Gather(
const int* sendBuffer, 
int* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  389    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, destProcessId);
 
  392    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  394    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, destProcessId);
 
  396  int Gather(
const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  398    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_SHORT, destProcessId);
 
  400  int Gather(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
  403    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_SHORT, destProcessId);
 
  405  int Gather(
const long* sendBuffer, 
long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  407    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG, destProcessId);
 
  410    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  412    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_LONG, destProcessId);
 
  415    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  417    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_CHAR, destProcessId);
 
  419  int Gather(
const char* sendBuffer, 
char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  421    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_CHAR, destProcessId);
 
  424    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  426    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, destProcessId);
 
  428  int Gather(
const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  430    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_FLOAT, destProcessId);
 
  432  int Gather(
const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  434    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_DOUBLE, destProcessId);
 
  437    const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  439    return this->GatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, destProcessId);
 
  441  int Gather(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
  444    return this->GatherVoidArray(
 
  475    std::vector<vtkMultiProcessStream>& recvBuffer, 
int destProcessId);
 
  492    return this->GatherVVoidArray(
 
  493      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_INT, destProcessId);
 
  495  int GatherV(
const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType sendLength,
 
  498    return this->GatherVVoidArray(
 
  499      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_UNSIGNED_INT, destProcessId);
 
  504    return this->GatherVVoidArray(
 
  505      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_SHORT, destProcessId);
 
  507  int GatherV(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType sendLength,
 
  510    return this->GatherVVoidArray(
 
  511      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_UNSIGNED_SHORT, destProcessId);
 
  516    return this->GatherVVoidArray(
 
  517      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_LONG, destProcessId);
 
  519  int GatherV(
const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType sendLength,
 
  522    return this->GatherVVoidArray(
 
  523      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_UNSIGNED_LONG, destProcessId);
 
  525  int GatherV(
const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType sendLength,
 
  528    return this->GatherVVoidArray(
 
  529      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_UNSIGNED_CHAR, destProcessId);
 
  534    return this->GatherVVoidArray(
 
  535      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_CHAR, destProcessId);
 
  540    return this->GatherVVoidArray(
 
  541      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_SIGNED_CHAR, destProcessId);
 
  546    return this->GatherVVoidArray(
 
  547      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_FLOAT, destProcessId);
 
  552    return this->GatherVVoidArray(
 
  553      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_DOUBLE, destProcessId);
 
  558    return this->GatherVVoidArray(
 
  559      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_LONG_LONG, destProcessId);
 
  561  int GatherV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  564    return this->GatherVVoidArray(sendBuffer, recvBuffer, sendLength, recvLengths, offsets,
 
  605    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, srcProcessId);
 
  608    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  610    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, srcProcessId);
 
  612  int Scatter(
const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  614    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_SHORT, srcProcessId);
 
  616  int Scatter(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
  619    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_SHORT, srcProcessId);
 
  623    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, srcProcessId);
 
  626    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  628    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_LONG, srcProcessId);
 
  631    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  633    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_CHAR, srcProcessId);
 
  637    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_CHAR, srcProcessId);
 
  640    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  642    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, srcProcessId);
 
  644  int Scatter(
const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  646    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_FLOAT, srcProcessId);
 
  648  int Scatter(
const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  650    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_DOUBLE, srcProcessId);
 
  653    const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  655    return this->ScatterVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, srcProcessId);
 
  657  int Scatter(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  660    return this->ScatterVoidArray(
 
  677    return this->ScatterVVoidArray(
 
  678      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_INT, srcProcessId);
 
  683    return this->ScatterVVoidArray(
 
  684      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_UNSIGNED_INT, srcProcessId);
 
  689    return this->ScatterVVoidArray(
 
  690      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_SHORT, srcProcessId);
 
  692  int ScatterV(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType* sendLengths,
 
  695    return this->ScatterVVoidArray(
 
  696      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_UNSIGNED_SHORT, srcProcessId);
 
  701    return this->ScatterVVoidArray(
 
  702      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_LONG, srcProcessId);
 
  704  int ScatterV(
const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType* sendLengths,
 
  707    return this->ScatterVVoidArray(
 
  708      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_UNSIGNED_LONG, srcProcessId);
 
  710  int ScatterV(
const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType* sendLengths,
 
  713    return this->ScatterVVoidArray(
 
  714      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_UNSIGNED_CHAR, srcProcessId);
 
  719    return this->ScatterVVoidArray(
 
  720      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_CHAR, srcProcessId);
 
  725    return this->ScatterVVoidArray(
 
  726      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_SIGNED_CHAR, srcProcessId);
 
  731    return this->ScatterVVoidArray(
 
  732      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_FLOAT, srcProcessId);
 
  737    return this->ScatterVVoidArray(
 
  738      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_DOUBLE, srcProcessId);
 
  743    return this->ScatterVVoidArray(
 
  744      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, 
VTK_LONG_LONG, srcProcessId);
 
  746  int ScatterV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  749    return this->ScatterVVoidArray(sendBuffer, recvBuffer, sendLengths, offsets, recvLength,
 
  760    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT);
 
  764    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT);
 
  768    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_SHORT);
 
  776    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG);
 
  780    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_LONG);
 
  784    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_CHAR);
 
  788    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_CHAR);
 
  792    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR);
 
  796    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_FLOAT);
 
  800    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_DOUBLE);
 
  804    return this->AllGatherVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG_LONG);
 
  807    const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length)
 
  835    return this->AllGatherVVoidArray(
 
  836      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_INT);
 
  841    return this->AllGatherVVoidArray(
 
  842      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_UNSIGNED_INT);
 
  847    return this->AllGatherVVoidArray(
 
  848      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_SHORT);
 
  853    return this->AllGatherVVoidArray(
 
  859    return this->AllGatherVVoidArray(
 
  860      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_LONG);
 
  865    return this->AllGatherVVoidArray(
 
  871    return this->AllGatherVVoidArray(
 
  877    return this->AllGatherVVoidArray(
 
  878      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_CHAR);
 
  883    return this->AllGatherVVoidArray(
 
  889    return this->AllGatherVVoidArray(
 
  890      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_FLOAT);
 
  895    return this->AllGatherVVoidArray(
 
  896      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_DOUBLE);
 
  901    return this->AllGatherVVoidArray(
 
  902      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, 
VTK_LONG_LONG);
 
  904  int AllGatherV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  907    return this->AllGatherVVoidArray(
 
  922    const int* sendBuffer, 
int* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
  924    return this->ReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, operation, destProcessId);
 
  926  int Reduce(
const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length,
 
  927    int operation, 
int destProcessId)
 
  929    return this->ReduceVoidArray(
 
  930      sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, operation, destProcessId);
 
  933    const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
  935    return this->ReduceVoidArray(
 
  936      sendBuffer, recvBuffer, length, 
VTK_SHORT, operation, destProcessId);
 
  938  int Reduce(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
  939    int operation, 
int destProcessId)
 
  941    return this->ReduceVoidArray(
 
  945    const long* sendBuffer, 
long* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
  947    return this->ReduceVoidArray(
 
  948      sendBuffer, recvBuffer, length, 
VTK_LONG, operation, destProcessId);
 
  950  int Reduce(
const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length,
 
  951    int operation, 
int destProcessId)
 
  953    return this->ReduceVoidArray(
 
  956  int Reduce(
const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length,
 
  957    int operation, 
int destProcessId)
 
  959    return this->ReduceVoidArray(
 
  963    const char* sendBuffer, 
char* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
  965    return this->ReduceVoidArray(
 
  966      sendBuffer, recvBuffer, length, 
VTK_CHAR, operation, destProcessId);
 
  969    int operation, 
int destProcessId)
 
  971    return this->ReduceVoidArray(
 
  972      sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, operation, destProcessId);
 
  975    const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
  977    return this->ReduceVoidArray(
 
  978      sendBuffer, recvBuffer, length, 
VTK_FLOAT, operation, destProcessId);
 
  980  int Reduce(
const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
int operation,
 
  983    return this->ReduceVoidArray(
 
  984      sendBuffer, recvBuffer, length, 
VTK_DOUBLE, operation, destProcessId);
 
  986  int Reduce(
const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int operation,
 
  989    return this->ReduceVoidArray(
 
  990      sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, operation, destProcessId);
 
  992  int Reduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
  993    int operation, 
int destProcessId)
 
  995    return this->ReduceVoidArray(
 
 1009    return this->ReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, operation, destProcessId);
 
 1012    Operation* operation, 
int destProcessId)
 
 1014    return this->ReduceVoidArray(
 
 1015      sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, operation, destProcessId);
 
 1020    return this->ReduceVoidArray(
 
 1021      sendBuffer, recvBuffer, length, 
VTK_SHORT, operation, destProcessId);
 
 1023  int Reduce(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
 1024    Operation* operation, 
int destProcessId)
 
 1026    return this->ReduceVoidArray(
 
 1032    return this->ReduceVoidArray(
 
 1033      sendBuffer, recvBuffer, length, 
VTK_LONG, operation, destProcessId);
 
 1036    Operation* operation, 
int destProcessId)
 
 1038    return this->ReduceVoidArray(
 
 1042    Operation* operation, 
int destProcessId)
 
 1044    return this->ReduceVoidArray(
 
 1050    return this->ReduceVoidArray(
 
 1051      sendBuffer, recvBuffer, length, 
VTK_CHAR, operation, destProcessId);
 
 1054    Operation* operation, 
int destProcessId)
 
 1056    return this->ReduceVoidArray(
 
 1057      sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, operation, destProcessId);
 
 1062    return this->ReduceVoidArray(
 
 1063      sendBuffer, recvBuffer, length, 
VTK_FLOAT, operation, destProcessId);
 
 1068    return this->ReduceVoidArray(
 
 1069      sendBuffer, recvBuffer, length, 
VTK_DOUBLE, operation, destProcessId);
 
 1072    Operation* operation, 
int destProcessId)
 
 1074    return this->ReduceVoidArray(
 
 1075      sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, operation, destProcessId);
 
 1077  int Reduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
 1078    Operation* operation, 
int destProcessId)
 
 1080    return this->ReduceVoidArray(
 
 1093    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, operation);
 
 1096    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int operation)
 
 1098    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, operation);
 
 1102    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_SHORT, operation);
 
 1105    const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length, 
int operation)
 
 1107    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_SHORT, operation);
 
 1111    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG, operation);
 
 1114    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int operation)
 
 1116    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_LONG, operation);
 
 1119    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int operation)
 
 1121    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_CHAR, operation);
 
 1125    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_CHAR, operation);
 
 1128    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int operation)
 
 1130    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, operation);
 
 1134    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_FLOAT, operation);
 
 1138    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_DOUBLE, operation);
 
 1142    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, operation);
 
 1144  int AllReduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
 1147    return this->AllReduceVoidArray(
 
 1153    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_INT, operation);
 
 1158    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_INT, operation);
 
 1162    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_SHORT, operation);
 
 1167    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_SHORT, operation);
 
 1171    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG, operation);
 
 1176    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_LONG, operation);
 
 1181    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_UNSIGNED_CHAR, operation);
 
 1185    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_CHAR, operation);
 
 1188    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
Operation* operation)
 
 1190    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_SIGNED_CHAR, operation);
 
 1194    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_FLOAT, operation);
 
 1197    const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
Operation* operation)
 
 1199    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_DOUBLE, operation);
 
 1202    const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
Operation* operation)
 
 1204    return this->AllReduceVoidArray(sendBuffer, recvBuffer, length, 
VTK_LONG_LONG, operation);
 
 1206  int AllReduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
 1209    return this->AllReduceVoidArray(
 
 1222    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type, 
int destProcessId);
 
 1226    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type, 
int srcProcessId);
 
 1230    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type);
 
 1234    int operation, 
int destProcessId);
 
 1236    Operation* operation, 
int destProcessId);
 
 1238    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type, 
int operation);
 
 1240    const void* sendBuffer, 
void* recvBuffer, 
vtkIdType length, 
int type, 
Operation* operation);
 
 1262  virtual int Probe(
int vtkNotUsed(
source), 
int vtkNotUsed(tag), 
int* vtkNotUsed(actualSource))
 
 1264    vtkErrorMacro(
"Probe not implemented for this controller.");
 
 1282    int* rightHasBounds = 
nullptr, 
int* leftHasBounds = 
nullptr, 
int hasBoundsTag = 288402,
 
 1283    int localBoundsTag = 288403, 
int globalBoundsTag = 288404);
 
 1362VTK_ABI_NAMESPACE_END
 
Fast, simple class for representing and operating on 3D bounds.
 
dynamic, self-adjusting array of char
 
A custom operation to use in a reduce command.
 
virtual int Commutative()=0
Subclasses override this method to specify whether their operation is commutative.
 
virtual void Function(const void *A, void *B, vtkIdType length, int datatype)=0
Subclasses must overload this method, which performs the actual operations.
 
virtual ~Operation()=default
 
Used to send/receive messages in a multiprocess environment.
 
int Reduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Send(const unsigned long long *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int AllReduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Receive(vtkDataArray *data, int remoteHandle, int tag)
This method receives a data array from a corresponding send.
 
int Reduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
Same as GatherV except that the result is placed in all processes.
 
int Send(const short *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int Receive(long long *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int ScatterV(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Receive(char *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
virtual void SetNumberOfProcesses(int num)
Set the number of processes you will be using.
 
int GatherV(vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId)
Collects data objects in the process with id destProcessId.
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as pa...
 
int Scatter(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int MaximumNumberOfProcesses
 
int AllGather(const long *sendBuffer, long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int AllGather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int ScatterV(const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Receive(unsigned long long *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Reduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int ScatterV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int AllGather(const float *sendBuffer, float *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Gather(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Gather(const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int GatherV(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
int Send(const char *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int AllGather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Scatter(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int GatherV(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
virtual int GatherVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type, int destProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int Scatter(const long *sendBuffer, long *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int ScatterV(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Broadcast(short *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Scatter(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as pa...
 
int Scatter(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int AllGather(const short *sendBuffer, short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Reduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
static void SetUseCopy(int useCopy)
 
int Send(const int *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int Send(vtkDataArray *data, int remoteHandle, int tag)
This method sends a data array to a destination.
 
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int ScatterV(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int WriteDataArray(vtkDataArray *object)
 
virtual int SendVoidArray(const void *data, vtkIdType length, int type, int remoteHandle, int tag)=0
Subclasses have to supply this method to send various arrays of data.
 
int Receive(float *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Send(const long long *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int ScatterV(const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Gather(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int GatherV(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Receive(vtkMultiProcessStream &stream, int remoteId, int tag)
 
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
virtual int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation)
Subclasses should reimplement these if they have a more efficient implementation.
 
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllReduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Broadcast(unsigned char *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
virtual int AllReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation)
Subclasses should reimplement these if they have a more efficient implementation.
 
int ScatterV(const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Gather(vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId)
Gathers vtkDataObject (sendBuffer) from all ranks to the destProcessId.
 
int ReceiveElementalDataObject(vtkDataObject *data, int remoteHandle, int tag)
 
int ScatterV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int ScatterV(const long long *sendBuffer, long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Scatter(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Broadcast(char *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Broadcast(unsigned long long *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int AllGatherV(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
virtual void Barrier()
Will block the processes until all other processes reach the Barrier function.
 
int ScatterV(const int *sendBuffer, int *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int AllReduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int SendElementalDataObject(vtkDataObject *data, int remoteHandle, int tag)
 
int Gather(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Receive(long *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Broadcast(vtkMultiProcessStream &stream, int srcProcessId)
 
int AllGatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int AllGather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
static int UnMarshalDataObject(vtkCharArray *buffer, vtkDataObject *object)
Convert a data object into a string that can be transmitted and vice versa.
 
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllReduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int GatherV(const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId)
For the first GatherV variant, recvLengths and offsets known on destProcessId and are passed in as pa...
 
int Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Broadcast(signed char *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
virtual int ReceiveVoidArray(void *data, vtkIdType maxlength, int type, int remoteHandle, int tag)=0
Subclasses have to supply this method to receive various arrays of data.
 
int Send(const unsigned long *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int GatherVElementalDataObject(vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *receiveData, int destProcessId)
GatherV collects arrays in the process with id destProcessId.
 
int AllReduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllReduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
static int GetParentProcessor(int pid)
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for g...
 
int AllReduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Send(vtkDataObject *data, int remoteHandle, int tag)
This method sends a data object to a destination.
 
int Broadcast(long long *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Receive(vtkDataObject *data, int remoteHandle, int tag)
This method receives a data object from a corresponding send.
 
int ReceiveMultiBlockDataSet(vtkMultiBlockDataSet *data, int remoteHandle, int tag)
 
int GatherV(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int GatherV(vtkDataArray *sendArray, vtkDataArray *recvArray, vtkSmartPointer< vtkDataArray > *recvArrays, int destProcessId)
GatherV collects arrays in the process with id destProcessId.
 
int Scatter(const short *sendBuffer, short *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Gather(const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int AllGatherV(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int ReadDataArray(vtkDataArray *object)
 
int Broadcast(unsigned long *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Broadcast(long *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGatherV(vtkDataArray *sendArray, vtkDataArray *recvArray, vtkSmartPointer< vtkDataArray > *recvArrays)
 
int Scatter(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Broadcast(int *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGatherV(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Scatter(const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
virtual int ReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int operation, int destProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int GatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int ScatterV(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Receive(unsigned char *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int AllGather(vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer)
Gathers vtkDataObject (sendBuffer) from all ranks to all raks.
 
int Receive(signed char *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Reduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int ReceiveDataObject(vtkDataObject *data, int remoteHandle, int tag, int type=-1)
 
virtual int ComputeGlobalBounds(int processorId, int numProcesses, vtkBoundingBox *bounds, int *rightHasBounds=nullptr, int *leftHasBounds=nullptr, int hasBoundsTag=288402, int localBoundsTag=288403, int globalBoundsTag=288404)
Determine the global bounds for a set of processes.
 
int Send(const long *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int Gather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Send(const double *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int Gather(const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer, int destProcessId)
Gathers vtkMultiProcessStream (sendBuffer) from all ranks to the destProcessId.
 
int Receive(int *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int ScatterV(const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
virtual int ScatterVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int type, int srcProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int AllGatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
virtual int Probe(int vtkNotUsed(source), int vtkNotUsed(tag), int *vtkNotUsed(actualSource))
Blocking test for checking for a message tagged with tag from source process (if source == ANY_SOURCE...
 
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGather(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Gather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Scatter(const double *sendBuffer, double *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int GatherV(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
virtual int ScatterVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int srcProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int AllReduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int GatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Send(const unsigned char *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
virtual int ReduceVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, Operation *operation, int destProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
vtkDataObject * ReceiveDataObject(int remoteHandle, int tag)
The caller does not have to know the data type before this call is made.
 
int AllGatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGather(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int AllGather(const double *sendBuffer, double *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int AllReduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, Operation *operation)
Same as Reduce except that the result is placed in all of the processes.
 
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int AllReduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
~vtkCommunicator() override
 
int Receive(short *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Broadcast(vtkDataArray *data, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int GatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
static vtkSmartPointer< vtkDataObject > UnMarshalDataObject(vtkCharArray *buffer)
Same as UnMarshalDataObject(vtkCharArray*, vtkDataObject*) except that this method doesn't need to kn...
 
int AllGatherV(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
virtual int GatherVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type, int destProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int Reduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Broadcast(double *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Broadcast(unsigned short *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Receive(double *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
static int GetLeftChildProcessor(int pid)
Some helper functions when dealing with heap tree - based algorithms - we don't need a function for g...
 
virtual int AllGatherVVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int type)
Subclasses should reimplement these if they have a more efficient implementation.
 
int AllReduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int GatherV(const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
virtual int AllGatherVoidArray(const void *sendBuffer, void *recvBuffer, vtkIdType length, int type)
Subclasses should reimplement these if they have a more efficient implementation.
 
int AllGather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Receive(unsigned long *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int GatherV(const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int AllReduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Reduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int GatherV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int AllGather(const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer)
Same as gather except that the result ends up on all processes.
 
int AllGather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
Same as gather except that the result ends up on all processes.
 
int AllReduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int Send(const signed char *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int AllGather(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Send(const unsigned int *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
virtual int BroadcastVoidArray(void *data, vtkIdType length, int type, int srcProcessId)
Subclasses should reimplement these if they have a more efficient implementation.
 
int Receive(unsigned short *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Broadcast(unsigned int *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Broadcast(vtkDataObject *data, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
static int MarshalDataObject(vtkDataObject *object, vtkCharArray *buffer)
Convert a data object into a string that can be transmitted and vice versa.
 
int Reduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Scatter(const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Send(const float *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int Send(const vtkMultiProcessStream &stream, int remoteId, int tag)
 
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
virtual bool CanProbe()
Check if this communicator implements a probe operation.
 
int Reduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengthsArray, vtkIdTypeArray *offsetsArray)
 
int AllGatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int AllReduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGatherV(const long long *sendBuffer, long long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Scatter(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGatherV(const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Send(const unsigned short *data, vtkIdType length, int remoteHandle, int tag)
Convenience methods for sending data arrays.
 
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
int AllGatherV(const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int ScatterV(const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Receive(unsigned int *data, vtkIdType maxlength, int remoteHandle, int tag)
Convenience methods for receiving data arrays.
 
int Broadcast(float *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
abstract superclass for arrays of numeric data
 
general representation of visualization data
 
abstract class to specify dataset behavior
 
dynamic, self-adjusting array of vtkIdType
 
topologically and geometrically regular array of data
 
a simple class to control print indentation
 
Composite dataset that organizes datasets into blocks.
 
stream used to pass data across processes using vtkMultiProcessController.
 
abstract base class for most VTK objects
 
Hold a reference to a vtkObjectBase instance.
 
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
 
#define VTK_UNSIGNED_CHAR
 
#define VTK_UNSIGNED_SHORT
 
#define VTK_UNSIGNED_LONG
 
#define VTK_UNSIGNED_LONG_LONG