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