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)
32 VTK_ABI_NAMESPACE_BEGIN
52 static void InitializeEnvironmentForDIY();
65 static void Save(diy::BinaryBuffer& bb,
vtkDataSet*);
66 static void Load(diy::BinaryBuffer& bb,
vtkDataSet*&);
98 static void AllReduce(diy::mpi::communicator& comm,
vtkBoundingBox& bbox);
120 static void Broadcast(
121 diy::mpi::communicator& comm, std::vector<vtkBoundingBox>& boxes,
int source);
130 static std::vector<vtkSmartPointer<vtkPoints>> ExtractPoints(
131 const std::vector<vtkDataSet*>& datasets,
bool use_cell_centers);
147 template <
class DummyT>
148 static void Link(diy::Master& master,
const diy::Assigner& assigner,
149 const std::vector<std::map<int, DummyT>>& linksMap);
152 diy::Master& master,
const diy::Assigner& assigner,
const std::vector<std::set<int>>& linksMap);
162 VTK_ABI_NAMESPACE_END
188 VTK_ABI_NAMESPACE_BEGIN
202 VTK_ABI_NAMESPACE_END
203 #include "vtkDIYUtilities.txx"
static void load(BinaryBuffer &bb, vtkFieldData *&fd)
static void save(BinaryBuffer &bb, vtkFieldData *const &fd)
abstract base class for most VTK objects
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
abstract class to specify dataset behavior
static void load(BinaryBuffer &bb, vtkDataArray *&da)
a vtkAbstractArray subclass for strings
static void load(BinaryBuffer &bb, vtkDataSet *&p)
static void save(BinaryBuffer &bb, vtkDataSet *const &p)
static void Load(diy::BinaryBuffer &bb, vtkDataSet *&)
Load/Save a vtkDataSet in a diy::BinaryBuffer.
static void save(BinaryBuffer &bb, vtkDataArray *const &da)
a simple class to control print indentation
static void Save(diy::BinaryBuffer &bb, vtkDataSet *)
Load/Save a vtkDataSet in a diy::BinaryBuffer.
abstract superclass for arrays of numeric data
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
collection of helper functions for working with DIY
static vtkDIYUtilitiesCleanup vtkDIYUtilitiesCleanupInstance
VTKACCELERATORSVTKMCORE_EXPORT vtkDataArray * Convert(const viskores::cont::Field &input)
general representation of visualization data
represent and manipulate 3D points
Fast, simple class for representing and operating on 3D bounds.
Represents and manipulates a collection of data arrays.
Multiprocessing communication superclass.