42 #ifndef vtkPBGLDistributedGraphHelper_h
43 #define vtkPBGLDistributedGraphHelper_h
45 #include "vtkInfovisParallelModule.h"
48 class vtkPBGLDistributedGraphHelperInternals;
50 namespace boost {
namespace graph {
namespace distributed {
51 class mpi_process_group;
54 #if !defined(VTK_LEGACY_REMOVE)
139 ADD_UNDIRECTED_EDGE_NN_NO_REPLY_TAG
231 friend class vtkPBGLDistributedGraphHelperInternals;
helper for the vtkGraph class that allows the graph to be distributed across multiple memory spaces.
Base class for graph data types.
a simple class to control print indentation
end namespace boost::graph::distributed
~vtkPBGLDistributedGraphHelper()
vtkPBGLDistributedGraphHelperInternals * Internals
The Parallel BGL-specific internal information for this distributed graph.
boost::graph::distributed::mpi_process_group GetProcessGroup()
Return the process group associated with this distributed graph.
@ ADD_VERTEX_PROPS_WITH_REPLY_TAG
@ ADD_DIRECTED_EDGE_NI_NO_REPLY_TAG
@ ADD_DIRECTED_EDGE_WITH_REPLY_TAG
@ ADD_DIRECTED_EDGE_NO_REPLY_TAG
@ ADD_VERTEX_PROPS_NO_REPLY_TAG
@ ADD_DIRECTED_EDGE_IN_NO_REPLY_TAG
@ ADD_VERTEX_NO_REPLY_TAG
@ FIND_EDGE_SOURCE_TARGET_TAG
@ ADD_UNDIRECTED_BACK_EDGE_TAG
@ ADD_DIRECTED_EDGE_NI_WITH_REPLY_TAG
@ ADD_UNDIRECTED_EDGE_WITH_REPLY_TAG
@ ADD_UNDIRECTED_EDGE_IN_NO_REPLY_TAG
@ ADD_UNDIRECTED_EDGE_NO_REPLY_TAG
@ ADD_DIRECTED_EDGE_NN_NO_REPLY_TAG
@ ADD_UNDIRECTED_EDGE_NI_NO_REPLY_TAG
@ ADD_VERTEX_WITH_REPLY_TAG
@ ADD_UNDIRECTED_EDGE_NI_WITH_REPLY_TAG
@ ADD_DIRECTED_BACK_EDGE_TAG
vtkIdType FindVertex(const vtkVariant &pedigreeId)
Try to find the vertex with the given pedigree ID.
void AddEdgeInternal(vtkIdType u, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
Add an edge (u, v) to the distributed graph.
void FindEdgeSourceAndTarget(vtkIdType id, vtkIdType *source, vtkIdType *target)
Determine the source and target of the edge with the given ID.
void PrintSelf(ostream &os, vtkIndent indent)
Methods invoked by print to print information about the object including superclasses.
void AddEdgeInternal(const vtkVariant &uPedigreeId, vtkIdType v, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
Adds an edge (u, v) and returns the new edge.
void AddEdgeInternal(const vtkVariant &uPedigreeId, const vtkVariant &vPedigreeId, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
Adds an edge (u, v) and returns the new edge.
vtkPBGLDistributedGraphHelper()
void AddEdgeInternal(vtkIdType u, const vtkVariant &vPedigreeId, bool directed, vtkVariantArray *propertyArr, vtkEdgeType *edge)
Adds an edge (u, v) and returns the new edge.
vtkDistributedGraphHelper * Clone()
Clones this distributed graph helper.
void AddVertexInternal(const vtkVariant &pedigreeId, vtkIdType *vertex)
Add a vertex with the given pedigree ID to the distributed graph.
void AttachToGraph(vtkGraph *graph)
Attach this distributed graph helper to the given graph.
void AddVertexInternal(vtkVariantArray *propertyArr, vtkIdType *vertex)
Add a vertex, optionally with properties, to the distributed graph.
static vtkPBGLDistributedGraphHelper * New()
Creates an empty Parallel BGL distributed graph helper.
void Synchronize()
Synchronizes all of the processors involved in this distributed graph, so that all processors have a ...
An array holding vtkVariants.
A atomic type representing the union of many types.
Forward declaration required for Boost serialization.
boost::graph_traits< vtkGraph * >::vertex_descriptor source(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)
boost::graph_traits< vtkGraph * >::vertex_descriptor target(boost::graph_traits< vtkGraph * >::edge_descriptor e, vtkGraph *)