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
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