13#ifndef vtkDIYUtilities_h 
   14#define vtkDIYUtilities_h 
   17#include "vtkParallelDIYModule.h"  
   26#include VTK_DIY2(diy/master.hpp) 
   27#include VTK_DIY2(diy/mpi.hpp) 
   28#include VTK_DIY2(diy/serialization.hpp) 
   29#include VTK_DIY2(diy/types.hpp) 
   32VTK_ABI_NAMESPACE_BEGIN
 
  119    diy::mpi::communicator& comm, std::vector<vtkBoundingBox>& boxes, 
int source);
 
  129    const std::vector<vtkDataSet*>& datasets, 
bool use_cell_centers);
 
  145  template <
class DummyT>
 
  146  static void Link(diy::Master& master, 
const diy::Assigner& assigner,
 
  147    const std::vector<std::map<int, DummyT>>& linksMap);
 
  150    diy::Master& master, 
const diy::Assigner& assigner, 
const std::vector<std::set<int>>& linksMap);
 
  186VTK_ABI_NAMESPACE_BEGIN
 
  201#include "vtkDIYUtilities.txx"  
Fast, simple class for representing and operating on 3D bounds.
 
~vtkDIYUtilitiesCleanup()
 
collection of helper functions for working with DIY
 
static void Broadcast(diy::mpi::communicator &comm, std::vector< vtkBoundingBox > &boxes, int source)
Broadcast a vector of bounding boxes.
 
static std::vector< vtkSmartPointer< vtkPoints > > ExtractPoints(const std::vector< vtkDataSet * > &datasets, bool use_cell_centers)
Extracts points from the input.
 
static void Load(diy::BinaryBuffer &bb, vtkFieldData *&)
Load/Save a vtkFieldData in a diy::BinaryBuffer.
 
static void Load(diy::BinaryBuffer &bb, vtkStringArray *&)
Load/Save a vtkStringArray in a diy::BinaryBuffer.
 
static void InitializeEnvironmentForDIY()
In MPI-enabled builds, DIY filters need MPI to be initialized.
 
static vtkBoundingBox Convert(const diy::ContinuousBounds &bds)
Convert diy::ContinuousBounds to vtkBoundingBox.
 
static void Save(diy::BinaryBuffer &bb, vtkFieldData *)
Load/Save a vtkFieldData in a diy::BinaryBuffer.
 
static void Save(diy::BinaryBuffer &bb, vtkDataArray *)
Load/Save a vtkDataArray in a diy::BinaryBuffer.
 
static void Link(diy::Master &master, const diy::Assigner &assigner, const std::vector< std::map< int, DummyT > > &linksMap)
Links master such that there is communication between ranks as given in linksMap.
 
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
 
static void Save(diy::BinaryBuffer &bb, vtkStringArray *)
Load/Save a vtkStringArray in a diy::BinaryBuffer.
 
static void Load(diy::BinaryBuffer &bb, vtkDataSet *&)
Load/Save a vtkDataSet in a diy::BinaryBuffer.
 
~vtkDIYUtilities() override
 
static void Load(diy::BinaryBuffer &bb, vtkDataArray *&)
Load/Save a vtkDataArray in a diy::BinaryBuffer.
 
static diy::ContinuousBounds Convert(const vtkBoundingBox &bbox)
Convert vtkBoundingBox to diy::ContinuousBounds.
 
static void Link(diy::Master &master, const diy::Assigner &assigner, const std::vector< std::set< int > > &linksMap)
 
static void Save(diy::BinaryBuffer &bb, vtkDataSet *)
Load/Save a vtkDataSet in a diy::BinaryBuffer.
 
static vtkBoundingBox GetLocalBounds(vtkDataObject *dobj)
Convenience method to get local bounds for the data object.
 
static void AllReduce(diy::mpi::communicator &comm, vtkBoundingBox &bbox)
Reduce bounding box.
 
static diy::mpi::communicator GetCommunicator(vtkMultiProcessController *controller)
Converts a vtkMultiProcessController to a diy::mpi::communicator.
 
abstract superclass for arrays of numeric data
 
general representation of visualization data
 
abstract class to specify dataset behavior
 
represent and manipulate fields of data
 
a simple class to control print indentation
 
Multiprocessing communication superclass.
 
abstract base class for most VTK objects
 
represent and manipulate 3D points
 
a vtkAbstractArray subclass for strings
 
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
 
static vtkDIYUtilitiesCleanup vtkDIYUtilitiesCleanupInstance
 
void load(Archiver &ar, std::string &str, const unsigned int vtkNotUsed(version))
 
void save(Archiver &ar, const std::string &str, const unsigned int vtkNotUsed(version))