22 #ifndef vtkDIYUtilities_h
23 #define vtkDIYUtilities_h
26 #include "vtkParallelDIYModule.h"
31 #include VTK_DIY2(diy/mpi.hpp)
32 #include VTK_DIY2(diy/serialization.hpp)
33 #include VTK_DIY2(diy/types.hpp)
95 diy::mpi::communicator& comm, std::vector<vtkBoundingBox>& boxes,
int source);
113 const std::vector<vtkDataSet*>& datasets,
bool use_cell_centers);
Fast, simple class for dealing with 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 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 std::vector< vtkSmartPointer< vtkPoints > > ExtractPoints(const std::vector< vtkDataSet * > &datasets, bool use_cell_centers)
Extracts points from the input.
static std::vector< vtkDataSet * > GetDataSets(vtkDataObject *dobj)
Extract datasets from the given data object.
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.
static void Load(diy::BinaryBuffer &bb, vtkDataSet *&)
~vtkDIYUtilities() override
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 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.
general representation of visualization data
abstract class to specify dataset behavior
a simple class to control print indentation
Multiprocessing communication superclass.
abstract base class for most VTK objects
represent and manipulate 3D points
static void save(BinaryBuffer &bb, vtkDataSet *const &p)
static void load(BinaryBuffer &bb, vtkDataSet *&p)
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
static vtkDIYUtilitiesCleanup vtkDIYUtilitiesCleanupInstance