25#ifndef vtkDIYAggregateDataSetFilter_h
26#define vtkDIYAggregateDataSetFilter_h
29#include "vtkFiltersParallelDIY2Module.h"
70 bool DoExtentsOverlap(
int extent1[6],
int extent2[6],
int dimensions[3],
int* overlappingExtent);
87 std::map<int, std::string>& serializedDataSets, std::vector<std::string>& receivedDataSets);
92 int MoveData(
int inputExtent[6],
int wholeExtent[6],
int outputExtent[6],
93 std::map<int, std::string>& serializedDataSets, std::vector<std::string>& receivedDataSets);
100 int inputExent[6],
int wholeExtent[6],
int outputExtent[6],
vtkIdList* processesIReceiveFrom);
117 bool OutputInitialized;
vtkAggregateDataSetFilter()
int RequestData(vtkInformation *request, vtkInformationVector **inputVector, vtkInformationVector *outputVector) override
This is called within ProcessRequest when a request asks the algorithm to do its work.
bool DoExtentsOverlap(int extent1[6], int extent2[6], int dimensions[3], int *overlappingExtent)
Given two extents and dimensions (marking whether or not we have cells in that dimension with a value...
void ExtractRectilinearGridCoordinates(int *sourceExtent, int *targetExtent, vtkDataArray *sourceCoordinates, vtkDataArray *targetCoordinates)
Put appropriate values from sourceCoordinates into targetCoordinates based on the extents overlap.
int GetTargetProcessId(int sourceProcessId, int numberOfProcesses)
Given a source process id and number of processes, return a target process id for the aggregate opera...
~vtkDIYAggregateDataSetFilter() override
void GetExtent(vtkDataSet *dataSet, int extent[6])
Get the extent of the topologically regular dataset.
int MoveData(int inputExtent[6], int wholeExtent[6], int outputExtent[6], std::map< int, std::string > &serializedDataSets, std::vector< std::string > &receivedDataSets)
Move data directly with vtkMPIController.
void ExtractDataSetInformation(vtkDataSet *source, vtkDataSet *target)
Extract information from source dataset into target dataset.
int RequestInformation(vtkInformation *, vtkInformationVector **, vtkInformationVector *) override
This is called within ProcessRequest when a request asks for Information.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
vtkDIYAggregateDataSetFilter()
int MoveDataWithDIY(int inputExtent[6], int wholeExtent[6], int outputExtent[6], std::map< int, std::string > &serializedDataSets, std::vector< std::string > &receivedDataSets)
Move data with DIY.
static vtkDIYAggregateDataSetFilter * New()
void ComputeProcessesIReceiveFrom(int inputExent[6], int wholeExtent[6], int outputExtent[6], vtkIdList *processesIReceiveFrom)
Determine which processes I receive data and put those process ranks (in order) into processesIReceiv...
general representation of visualization data
abstract class to specify dataset behavior
list of point or cell ids
a simple class to control print indentation
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)