43#ifndef vtkMultiProcessController_h 
   44#define vtkMultiProcessController_h 
   47#include "vtkParallelCoreModule.h"  
   51VTK_ABI_NAMESPACE_BEGIN
 
   69  void* localArg, 
void* remoteArg, 
int remoteArgLength, 
int remoteProcessId);
 
   82  virtual void Initialize(
int* vtkNotUsed(argc), 
char*** vtkNotUsed(argv)) = 0;
 
   90    int* vtkNotUsed(argc), 
char*** vtkNotUsed(argv), 
int initializedExternally) = 0;
 
  104  virtual void Finalize(
int finalizedExternally) = 0;
 
  233    vtkErrorMacro(
"RemoveRMI Not Implemented Yet");
 
  258  void TriggerRMI(
int remoteProcessId, 
void* arg, 
int argLength, 
int tag);
 
  269  void TriggerRMI(
int remoteProcessId, 
const char* arg, 
int tag)
 
  271    this->TriggerRMI(remoteProcessId, (
void*)arg, 
static_cast<int>(strlen(arg)) + 1, tag);
 
  279    this->TriggerRMI(remoteProcessId, 
nullptr, 0, tag);
 
  294    this->TriggerRMIOnAllChildren((
void*)arg, 
static_cast<int>(strlen(arg)) + 1, tag);
 
  323  vtkSetMacro(BreakFlag, 
int);
 
  324  vtkGetMacro(BreakFlag, 
int);
 
  333  vtkSetMacro(BroadcastTriggerRMI, 
bool);
 
  334  vtkGetMacro(BroadcastTriggerRMI, 
bool);
 
  335  vtkBooleanMacro(BroadcastTriggerRMI, 
bool);
 
  371    XML_WRITER_DATA_INFO = 4
 
  391  int Send(
const int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  392  int Send(
const short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  393  int Send(
const unsigned short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  394  int Send(
const unsigned int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  395  int Send(
const unsigned long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  396  int Send(
const long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  397  int Send(
const signed char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  398  int Send(
const char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  399  int Send(
const unsigned char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  400  int Send(
const float* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  401  int Send(
const double* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  402  int Send(
const long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  403  int Send(
const unsigned long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag);
 
  427  int Receive(
int* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  428  int Receive(
unsigned int* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  429  int Receive(
short* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  430  int Receive(
unsigned short* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  431  int Receive(
long* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  432  int Receive(
unsigned long* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  433  int Receive(
char* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  434  int Receive(
unsigned char* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  435  int Receive(
signed char* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  436  int Receive(
float* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  437  int Receive(
double* data, 
vtkIdType maxlength, 
int remoteProcessId, 
int tag);
 
  438  int Receive(
long long* data, 
vtkIdType maxLength, 
int remoteProcessId, 
int tag);
 
  439  int Receive(
unsigned long long* data, 
vtkIdType maxLength, 
int remoteProcessId, 
int tag);
 
  471    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  475    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  479    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  483    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  487    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  491    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  495    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  499    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  503    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  507    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  511    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  515    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  519    return this->Communicator->Broadcast(data, length, srcProcessId);
 
  523    return this->Communicator->Broadcast(data, srcProcessId);
 
  527    return this->Communicator->Broadcast(data, srcProcessId);
 
  533    return this->Communicator->Broadcast(stream, srcProcessId);
 
  546  int Gather(
const int* sendBuffer, 
int* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  548    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  551    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  553    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  555  int Gather(
const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  557    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  559  int Gather(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
  562    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  564  int Gather(
const long* sendBuffer, 
long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  566    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  569    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  571    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  574    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  576    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  578  int Gather(
const char* sendBuffer, 
char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  580    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  583    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  585    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  587  int Gather(
const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  589    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  591  int Gather(
const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  593    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  596    const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int destProcessId)
 
  598    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  600  int Gather(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
  603    return this->Communicator->Gather(sendBuffer, recvBuffer, length, destProcessId);
 
  607    return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
 
  623    return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
 
  636    std::vector<vtkMultiProcessStream>& recvBuffer, 
int destProcessId)
 
  638    return this->Communicator->Gather(sendBuffer, recvBuffer, destProcessId);
 
  656    return this->Communicator->GatherV(
 
  657      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  659  int GatherV(
const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType sendLength,
 
  662    return this->Communicator->GatherV(
 
  663      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  668    return this->Communicator->GatherV(
 
  669      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  671  int GatherV(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType sendLength,
 
  674    return this->Communicator->GatherV(
 
  675      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  680    return this->Communicator->GatherV(
 
  681      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  683  int GatherV(
const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType sendLength,
 
  686    return this->Communicator->GatherV(
 
  687      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  689  int GatherV(
const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType sendLength,
 
  692    return this->Communicator->GatherV(
 
  693      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  698    return this->Communicator->GatherV(
 
  699      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  704    return this->Communicator->GatherV(
 
  705      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  710    return this->Communicator->GatherV(
 
  711      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  716    return this->Communicator->GatherV(
 
  717      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  722    return this->Communicator->GatherV(
 
  723      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  725  int GatherV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  728    return this->Communicator->GatherV(
 
  729      sendBuffer, recvBuffer, sendLength, recvLengths, offsets, destProcessId);
 
  736    return this->Communicator->GatherV(sendBuffer, recvBuffer, recvLengths, offsets, destProcessId);
 
  741    return this->Communicator->GatherV(sendBuffer, recvBuffer, recvLengths, offsets, destProcessId);
 
  753    return this->Communicator->GatherV(sendBuffer, recvBuffer, destProcessId);
 
  757    return this->Communicator->GatherV(sendData, recvData, destProcessId);
 
  771    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  774    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  776    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  778  int Scatter(
const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  780    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  782  int Scatter(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
  785    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  789    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  792    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  794    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  797    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  799    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  803    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  806    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  808    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  810  int Scatter(
const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  812    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  814  int Scatter(
const double* sendBuffer, 
double* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  816    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  819    const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int srcProcessId)
 
  821    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  823  int Scatter(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  826    return this->Communicator->Scatter(sendBuffer, recvBuffer, length, srcProcessId);
 
  830    return this->Communicator->Scatter(sendBuffer, recvBuffer, srcProcessId);
 
  845    return this->Communicator->ScatterV(
 
  846      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  851    return this->Communicator->ScatterV(
 
  852      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  857    return this->Communicator->ScatterV(
 
  858      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  860  int ScatterV(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType* sendLengths,
 
  863    return this->Communicator->ScatterV(
 
  864      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  869    return this->Communicator->ScatterV(
 
  870      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  872  int ScatterV(
const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType* sendLengths,
 
  875    return this->Communicator->ScatterV(
 
  876      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  878  int ScatterV(
const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType* sendLengths,
 
  881    return this->Communicator->ScatterV(
 
  882      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  887    return this->Communicator->ScatterV(
 
  888      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  893    return this->Communicator->ScatterV(
 
  894      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  899    return this->Communicator->ScatterV(
 
  900      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  905    return this->Communicator->ScatterV(
 
  906      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  911    return this->Communicator->ScatterV(
 
  912      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  914  int ScatterV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
  917    return this->Communicator->ScatterV(
 
  918      sendBuffer, recvBuffer, sendLengths, offsets, recvLength, srcProcessId);
 
  928    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  932    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  936    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  940    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  944    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  948    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  952    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  956    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  960    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  964    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  968    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  972    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  975    const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length)
 
  977    return this->Communicator->AllGather(sendBuffer, recvBuffer, length);
 
  981    return this->Communicator->AllGather(sendBuffer, recvBuffer);
 
  994    return this->Communicator->AllGather(sendBuffer, recvBuffer);
 
 1007    return this->Communicator->AllGather(sendBuffer, recvBuffer);
 
 1017    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1022    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1027    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1032    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1037    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1042    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1047    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1052    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1057    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1062    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1067    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1072    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1074  int AllGatherV(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
 1077    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, sendLength, recvLengths, offsets);
 
 1082    return this->Communicator->AllGatherV(sendBuffer, recvBuffer, recvLengths, offsets);
 
 1094    return this->Communicator->AllGatherV(sendBuffer, recvBuffer);
 
 1104    const int* sendBuffer, 
int* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
 1106    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1109    int operation, 
int destProcessId)
 
 1111    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1114    const short* sendBuffer, 
short* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
 1116    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1118  int Reduce(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
 1119    int operation, 
int destProcessId)
 
 1121    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1124    const long* sendBuffer, 
long* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
 1126    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1129    int operation, 
int destProcessId)
 
 1131    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1134    int operation, 
int destProcessId)
 
 1136    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1139    const char* sendBuffer, 
char* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
 1141    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1144    int operation, 
int destProcessId)
 
 1146    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1149    const float* sendBuffer, 
float* recvBuffer, 
vtkIdType length, 
int operation, 
int destProcessId)
 
 1151    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1156    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1158  int Reduce(
const long long* sendBuffer, 
long long* recvBuffer, 
vtkIdType length, 
int operation,
 
 1161    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1163  int Reduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
 1164    int operation, 
int destProcessId)
 
 1166    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1170    return this->Communicator->Reduce(sendBuffer, recvBuffer, operation, destProcessId);
 
 1182    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1187    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1192    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1194  int Reduce(
const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length,
 
 1197    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1202    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1207    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1212    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1217    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1222    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1227    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1232    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1237    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1239  int Reduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer, 
vtkIdType length,
 
 1242    return this->Communicator->Reduce(sendBuffer, recvBuffer, length, operation, destProcessId);
 
 1247    return this->Communicator->Reduce(sendBuffer, recvBuffer, operation, destProcessId);
 
 1257    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1260    const unsigned int* sendBuffer, 
unsigned int* recvBuffer, 
vtkIdType length, 
int operation)
 
 1262    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1266    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1269    const unsigned short* sendBuffer, 
unsigned short* recvBuffer, 
vtkIdType length, 
int operation)
 
 1271    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1275    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1278    const unsigned long* sendBuffer, 
unsigned long* recvBuffer, 
vtkIdType length, 
int operation)
 
 1280    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1283    const unsigned char* sendBuffer, 
unsigned char* recvBuffer, 
vtkIdType length, 
int operation)
 
 1285    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1289    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1292    const signed char* sendBuffer, 
signed char* recvBuffer, 
vtkIdType length, 
int operation)
 
 1294    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1298    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1302    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1306    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1308  int AllReduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
 1311    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1315    return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
 
 1322    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1327    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1332    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1337    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1342    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1347    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1352    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1357    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1362    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1367    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1372    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1377    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1379  int AllReduce(
const unsigned long long* sendBuffer, 
unsigned long long* recvBuffer,
 
 1382    return this->Communicator->AllReduce(sendBuffer, recvBuffer, length, operation);
 
 1387    return this->Communicator->AllReduce(sendBuffer, recvBuffer, operation);
 
 1410  virtual bool CanProbe() { 
return this->Communicator->CanProbe(); }
 
 1424    return this->Communicator->Probe(
source, tag, actualSource);
 
 1439    int remoteProcessId, 
void* arg, 
int argLength, 
int rmiTag, 
bool propagate);
 
 1450  void ProcessRMI(
int remoteProcessId, 
void* arg, 
int argLength, 
int rmiTag);
 
 1484  unsigned long RMICount;
 
 1487  vtkInternal* Internal;
 
 1515  const int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1528  const short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1541  const unsigned short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1554  const unsigned int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1567  const unsigned long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1580  const long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1593  const signed char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1606  const char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1619  const unsigned char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1632  const float* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1645  const double* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1658  const long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1671  const unsigned long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1730  int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1743  unsigned int* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1756  short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1769  unsigned short* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1782  long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1795  unsigned long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1808  char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1821  unsigned char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1834  signed char* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1847  float* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1860  double* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1873  long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1886  unsigned long long* data, 
vtkIdType length, 
int remoteProcessId, 
int tag)
 
 1924VTK_ABI_NAMESPACE_END
 
Fast, simple class for representing and operating on 3D bounds.
 
create and manipulate ordered lists of objects
 
A custom operation to use in a reduce command.
 
Used to send/receive messages in a multiprocess environment.
 
virtual void Barrier()
Will block the processes until all other processes reach the Barrier function.
 
int Send(vtkDataObject *data, int remoteHandle, int tag)
This method sends a data object to a destination.
 
int Receive(vtkDataObject *data, int remoteHandle, int tag)
This method receives a data object from a corresponding send.
 
vtkDataObject * ReceiveDataObject(int remoteHandle, int tag)
The caller does not have to know the data type before this call is made.
 
virtual vtkIdType GetCount()
Returns the number of words received by the most recent Receive().
 
Store on/off settings for data arrays, etc.
 
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
 
Multiprocessing communication superclass.
 
int Gather(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
void TriggerBreakRMIs()
A convenience method.
 
void TriggerRMI(int remoteProcessId, const char *arg, int tag)
Convenience method when the arg is a string.
 
vtkDataObject * ReceiveDataObject(int remoteId, int tag)
 
vtkIdType GetCount()
Returns the number of words received by the most recent Receive().
 
int GatherV(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Reduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::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 Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Broadcast(vtkMultiProcessStream &stream, int srcProcessId)
 
int AllReduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int Gather(const short *sendBuffer, short *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
virtual unsigned long AddRMI(vtkRMIFunctionType, void *localArg, int tag)
Register remote method invocation in the receiving process which makes the call.
 
int Send(const int *data, vtkIdType length, int remoteProcessId, int tag)
This method sends data to another process.
 
void TriggerRMIOnAllChildren(void *arg, int argLength, int tag)
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
 
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 GetNumberOfProcesses()
Set the number of processes you will be using.
 
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 AllGather(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all 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.
 
virtual int RemoveFirstRMI(int tag)
Remove the first RMI matching the tag.
 
int Gather(const unsigned int *sendBuffer, unsigned int *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 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.
 
int GatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
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 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 Broadcast(vtkDataArray *data, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
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 Reduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
static void SetGlobalController(vtkMultiProcessController *controller)
 
int GatherV(const double *sendBuffer, double *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int AllReduce(const vtkBoundingBox &sendBuffer, vtkBoundingBox &recvBuffer)
Convenience methods to reduce bounds.
 
int AllReduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
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 unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllGather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int AllReduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
static vtkMultiProcessController * GetGlobalController()
This convenience method returns the controller associated with the local process.
 
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 void RemoveRMI(vtkRMIFunctionType f, void *arg, int tag)
Take an RMI away.
 
int AllGather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
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 ProcessRMIs(int reportErrors, int dont_loop=0)
Calling this method gives control to the controller to start processing RMIs.
 
int ScatterV(const long *sendBuffer, long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int AllGather(const char *sendBuffer, char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
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 AllGatherV(const char *sendBuffer, char *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
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 Broadcast(short *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
int Gather(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
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.
 
void SetMultipleMethod(int index, vtkProcessFunctionType, void *data)
Set the MultipleMethod to f() and the UserData of the for the method to be executed by the process in...
 
vtkOutputWindow * OutputWindow
 
int AllReduce(vtkDataArraySelection *sendBuffer, vtkDataArraySelection *recvBuffer)
Convenience methods to reduce vtkDataArraySelection.
 
virtual void TriggerRMIInternal(int remoteProcessId, void *arg, int argLength, int rmiTag, bool propagate)
Implementation for TriggerRMI() provides subclasses an opportunity to modify the behaviour eg.
 
int Reduce(vtkDataArraySelection *sendBuffer, vtkDataArraySelection *recvBuffer, int destProcessId)
Convenience methods to reduce vtkDataArraySelection.
 
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 char *sendBuffer, unsigned char *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
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.
 
void SetSingleProcessObject(vtkProcess *p)
Object-oriented flavor of SetSingleMethod().
 
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation)
Same as Reduce except that the result is placed in all of the 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 Gather(const float *sendBuffer, float *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
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.
 
virtual void RemoveAllRMICallbacks(int tag)
These methods are a part of the newer API to add multiple rmi callbacks.
 
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 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 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 AllGather(const float *sendBuffer, float *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
static int GetBreakRMITag()
Accessor to some default tags.
 
int Scatter(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
virtual vtkMultiProcessController * CreateSubController(vtkProcessGroup *group)
Creates a new controller with the processes specified by the given group.
 
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 AllReduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int Gather(const long *sendBuffer, long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
virtual bool CanProbe()
Check if this controller implements a probe operation.
 
int Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
vtkCommunicator * RMICommunicator
 
int Gather(const int *sendBuffer, int *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
virtual void SingleMethodExecute()=0
Execute the SingleMethod (as define by SetSingleMethod) using this->NumberOfProcesses processes.
 
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 float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
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 Broadcast(float *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 Gather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int ScatterV(const double *sendBuffer, double *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
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 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 AllReduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
virtual vtkMultiProcessController * PartitionController(int localColor, int localKey)
Partitions this controller based on a coloring.
 
vtkCommunicator * Communicator
 
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 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.
 
void BroadcastTriggerRMIOnAllChildren(void *arg, int argLength, int tag)
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
 
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 AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer)
This special form of AllGatherV will automatically determine recvLengths and offsets to tightly pack ...
 
virtual vtkMultiProcessController * GetLocalController()
 
void TriggerRMI(int remoteProcessId, int tag)
Convenience method when there is no argument.
 
int Reduce(const double *sendBuffer, double *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Gather(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
static int GetRMIArgTag()
 
int AllGather(const double *sendBuffer, double *recvBuffer, vtkIdType length)
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 int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
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 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 Reduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
void Barrier()
This method can be used to synchronize processes.
 
int Gather(const double *sendBuffer, double *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int AllReduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation)
 
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.
 
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 Broadcast(unsigned long *data, vtkIdType length, int srcProcessId)
Broadcast sends the array in the process with id srcProcessId to all of the other processes.
 
virtual void Initialize(int *argc, char ***argv, int initializedExternally)=0
This method is for setting up the processes.
 
int AllReduce(const float *sendBuffer, float *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
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 ScatterV(const float *sendBuffer, float *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
void TriggerRMIOnAllChildren(const char *arg, int tag)
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
 
int AllGather(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
~vtkMultiProcessController() override
 
int BroadcastProcessRMIs(int reportErrors, int dont_loop=0)
Calling this method gives control to the controller to start processing RMIs.
 
int AllReduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int AllGather(vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer)
Gathers vtkDataObject (sendBuffer) from all ranks to all raks.
 
int AllReduce(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int ScatterV(const char *sendBuffer, char *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int ScatterV(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
virtual void Finalize(int finalizedExternally)=0
This method is for cleaning up.
 
int Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Reduce(const long *sendBuffer, long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int AllReduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
 
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 Reduce(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int GatherV(const int *sendBuffer, int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
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.
 
void SetNumberOfProcesses(int num)
Set the number of processes you will be using.
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdTypeArray *recvLengths, vtkIdTypeArray *offsets, int destProcessId)
 
virtual int RemoveRMI(unsigned long id)
Remove the RMI matching the id.
 
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
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 GetLocalProcessId()
Tells you which process [0, NumProcess) you are in.
 
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 AllGather(const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer)
Gathers vtkMultiProcessStream (sendBuffer) from all ranks to the destProcessId.
 
void ProcessRMI(int remoteProcessId, void *arg, int argLength, int rmiTag)
 
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 ScatterV(const short *sendBuffer, short *recvBuffer, vtkIdType *sendLengths, vtkIdType *offsets, vtkIdType recvLength, int srcProcessId)
ScatterV is the vector variant of Scatter.
 
int Scatter(const float *sendBuffer, float *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
int Reduce(const vtkBoundingBox &sendBuffer, vtkBoundingBox &recvBuffer, int destProcessId)
Convenience methods to reduce bounds.
 
int GatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the...
 
int AllGather(const short *sendBuffer, short *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int AllGatherV(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, vtkIdType *recvLengths, vtkIdType *offsets)
Same as GatherV except that the result is placed in all processes.
 
int Gather(const char *sendBuffer, char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Gather(const unsigned long long *sendBuffer, unsigned long long *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
void SetSingleMethod(vtkProcessFunctionType, void *data)
Set the SingleMethod to f() and the UserData of the for the method to be executed by all of the proce...
 
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 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.
 
int Reduce(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
void TriggerRMIOnAllChildren(int tag)
This is a convenicence method to trigger an RMI call on all the "children" of the current node.
 
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 Gather(vtkDataObject *sendBuffer, std::vector< vtkSmartPointer< vtkDataObject > > &recvBuffer, int destProcessId)
Gathers vtkDataObject (sendBuffer) from all ranks to the destProcessId.
 
int Reduce(const signed char *sendBuffer, signed char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Receive(int *data, vtkIdType maxlength, int remoteProcessId, int tag)
This method receives data from a corresponding send.
 
int GatherV(const float *sendBuffer, float *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int GatherV(const long *sendBuffer, long *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int AllReduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
virtual void MultipleMethodExecute()=0
Execute the MultipleMethods (as define by calling SetMultipleMethod for each of the required this->Nu...
 
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 float *sendBuffer, float *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
void GetMultipleMethod(int index, vtkProcessFunctionType &func, void *&data)
 
int AllReduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
vtkMultiProcessController()
 
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 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 GatherV(const short *sendBuffer, short *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
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 Gather(vtkDataArray *sendBuffer, vtkDataArray *recvBuffer, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
virtual unsigned long AddRMICallback(vtkRMIFunctionType, void *localArg, int tag)
These methods are a part of the newer API to add multiple rmi callbacks.
 
int AllReduce(const unsigned short *sendBuffer, unsigned short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int AllGather(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Gather(const unsigned char *sendBuffer, unsigned char *recvBuffer, vtkIdType length, int destProcessId)
Gather collects arrays in the process with id destProcessId.
 
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
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 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 Reduce(const short *sendBuffer, short *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
vtkProcessFunctionType SingleMethod
 
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 AllGather(const int *sendBuffer, int *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
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 float *sendBuffer, float *recvBuffer, vtkIdType length, int operation)
Same as Reduce except that the result is placed in all of the processes.
 
void TriggerRMI(int remoteProcessId, void *arg, int argLength, int tag)
A method to trigger a method invocation in another process.
 
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 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.
 
virtual void Initialize(int *argc, char ***argv)=0
This method is for setting up the processes.
 
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 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.
 
virtual void CreateOutputWindow()=0
This method can be used to tell the controller to create a special output window in which all message...
 
int GatherV(vtkDataObject *sendData, vtkSmartPointer< vtkDataObject > *recvData, int destProcessId)
This special form of GatherV will automatically determine recvLengths and offsets to tightly pack the...
 
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 void Finalize()=0
This method is for cleaning up.
 
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 GatherV(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType sendLength, vtkIdType *recvLengths, vtkIdType *offsets, int destProcessId)
GatherV is the vector variant of Gather.
 
int Reduce(const unsigned int *sendBuffer, unsigned int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int ProcessRMIs()
Calling this method gives control to the controller to start processing RMIs.
 
int AllReduce(const long long *sendBuffer, long long *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation)
 
int Scatter(const char *sendBuffer, char *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Scatter(const int *sendBuffer, int *recvBuffer, vtkIdType length, int srcProcessId)
Scatter takes an array in the process with id srcProcessId and distributes it.
 
int Gather(const vtkMultiProcessStream &sendBuffer, std::vector< vtkMultiProcessStream > &recvBuffer, int destProcessId)
Gathers vtkMultiProcessStream (sendBuffer) from all ranks to the destProcessId.
 
int Reduce(const unsigned long *sendBuffer, unsigned long *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
int Reduce(const int *sendBuffer, int *recvBuffer, vtkIdType length, vtkCommunicator::Operation *operation, int destProcessId)
Reduce an array to the given destination process.
 
int Reduce(const char *sendBuffer, char *recvBuffer, vtkIdType length, int operation, int destProcessId)
Reduce an array to the given destination process.
 
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, int operation, int destProcessId)
Reduce an array to the given destination process.
 
virtual bool RemoveRMICallback(unsigned long id)
Remove a callback.
 
int AllGather(const long *sendBuffer, long *recvBuffer, vtkIdType length)
Same as gather except that the result ends up on all processes.
 
int Reduce(const unsigned short *sendBuffer, unsigned short *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.
 
virtual int Probe(int source, int tag, int *actualSource)
Blocking test for checking for a message tagged with tag from source process (if source == ANY_SOURCE...
 
stream used to pass data across processes using vtkMultiProcessController.
 
abstract base class for most VTK objects
 
base class for writing debug output to a console
 
A subgroup of processes from a communicator.
 
a process that can be launched by a vtkMultiProcessController
 
Hold a reference to a vtkObjectBase instance.
 
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
 
void(* vtkProcessFunctionType)(vtkMultiProcessController *controller, void *userData)
 
void(* vtkRMIFunctionType)(void *localArg, void *remoteArg, int remoteArgLength, int remoteProcessId)