22#ifndef vtkDIYUtilities_h
23#define vtkDIYUtilities_h
27#include "vtkParallelDIYModule.h"
36#include VTK_DIY2(diy/master.hpp)
37#include VTK_DIY2(diy/mpi.hpp)
38#include VTK_DIY2(diy/serialization.hpp)
39#include VTK_DIY2(diy/types.hpp)
128 diy::mpi::communicator& comm, std::vector<vtkBoundingBox>& boxes,
int source);
136 template <
class DataSetT = vtkDataSet>
148 const std::vector<
vtkDataSet*>& datasets,
bool use_cell_centers);
164 template <class DummyT>
165 static
void Link(
diy::Master& master, const
diy::Assigner& assigner,
166 const std::vector<std::map<
int, DummyT>>& linksMap);
169 diy::Master& master, const
diy::Assigner& assigner, const std::vector<std::set<
int>>& linksMap);
217#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 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.
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.
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 Save(diy::BinaryBuffer &bb, vtkDataSet *)
Load/Save a vtkDataSet in a diy::BinaryBuffer.
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
Hold a reference to a vtkObjectBase instance.
a vtkAbstractArray subclass for strings
static void save(BinaryBuffer &bb, vtkDataArray *const &da)
static void load(BinaryBuffer &bb, vtkDataArray *&da)
static void save(BinaryBuffer &bb, vtkDataSet *const &p)
static void load(BinaryBuffer &bb, vtkDataSet *&p)
static void load(BinaryBuffer &bb, vtkFieldData *&fd)
static void save(BinaryBuffer &bb, vtkFieldData *const &fd)
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
static vtkDIYUtilitiesCleanup vtkDIYUtilitiesCleanupInstance
#define VTK_DEPRECATED_IN_9_1_0(reason)