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*&);
96 static void AllReduce(diy::mpi::communicator& comm,
vtkBoundingBox& bbox);
118 static void Broadcast(
119 diy::mpi::communicator& comm, std::vector<vtkBoundingBox>& boxes,
int source);
128 static std::vector<vtkSmartPointer<vtkPoints>> ExtractPoints(
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);
160 VTK_ABI_NAMESPACE_END
186 VTK_ABI_NAMESPACE_BEGIN
200 VTK_ABI_NAMESPACE_END
201 #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.
VTKACCELERATORSVTKMCORE_EXPORT vtkDataArray * Convert(const vtkm::cont::Field &input)
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
general representation of visualization data
represent and manipulate 3D points
Fast, simple class for representing and operating on 3D bounds.
represent and manipulate fields of data
Multiprocessing communication superclass.