VTK
Classes | Namespaces | Macros | Typedefs | Functions
vtkPBGLGraphAdapter.h File Reference
#include "vtkBoostGraphAdapter.h"
#include <map>
#include <boost/graph/use_mpi.hpp>
#include <boost/graph/distributed/mpi_process_group.hpp>
#include <boost/graph/properties.hpp>
#include <boost/graph/parallel/container_traits.hpp>
#include <boost/property_map/parallel/local_property_map.hpp>
#include <boost/property_map/parallel/distributed_property_map.hpp>
#include <boost/serialization/base_object.hpp>
#include <boost/functional/hash.hpp>
#include "vtkPBGLDistributedGraphHelper.h"
#include "vtkVariantBoostSerialization.h"
Include dependency graph for vtkPBGLGraphAdapter.h:

Go to the source code of this file.

Classes

struct  boost::vtkVertexOwnerMap
 
struct  boost::property_traits< vtkVertexOwnerMap >
 
struct  boost::property_map< vtkGraph *, vertex_owner_t >
 
struct  boost::vtkVertexLocalMap
 
struct  boost::property_traits< vtkVertexLocalMap >
 
struct  boost::property_map< vtkGraph *, vertex_local_t >
 
struct  boost::vtkVertexGlobalMap
 
struct  boost::property_traits< vtkVertexGlobalMap >
 
struct  boost::property_map< vtkGraph *, vertex_global_t >
 
struct  boost::vtkEdgeGlobalMap
 
struct  boost::property_traits< vtkEdgeGlobalMap >
 
struct  boost::property_map< vtkGraph *, edge_global_t >
 
struct  boost::hash< vtkEdgeType >
 
struct  boost::graph::parallel::process_group_type< vtkGraph * >
 
struct  boost::graph::parallel::process_group_type< vtkDirectedGraph * >
 
struct  boost::graph::parallel::process_group_type< vtkUndirectedGraph * >
 
struct  boost::graph::parallel::process_group_type< vtkDirectedGraph *const >
 
struct  boost::graph::parallel::process_group_type< vtkUndirectedGraph *const >
 
struct  vtkDistributedVertexPropertyMapType< DataArray >
 Retrieves the type of the distributed property map indexed by the vertices of a distributed graph. More...
 
struct  vtkDistributedEdgePropertyMapType< DataArray >
 Retrieves the type of the distributed property map indexed by the edges of a distributed graph. More...
 

Namespaces

 boost
 Forward declaration required for Boost serialization.
 
 boost::graph
 
 boost::graph::parallel
 

Macros

#define SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS(Property)
 

Typedefs

typedef boost::local_property_map< boost::graph::distributed::mpi_process_group, boost::vtkVertexGlobalMap, boost::vtkGraphIndexMapvtkGraphDistributedVertexIndexMap
 A property map used as the vertex index map for distributed vtkGraphs. More...
 

Functions

property_traits< vtkVertexOwnerMap >::reference boost::get (vtkVertexOwnerMap owner_map, property_traits< vtkVertexOwnerMap >::key_type key)
 
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_owner_t)
 
vtkVertexOwnerMap boost::get (vertex_owner_t, vtkGraph *graph)
 
property_traits< vtkVertexLocalMap >::reference boost::get (vtkVertexLocalMap local_map, property_traits< vtkVertexLocalMap >::key_type key)
 
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_local_t)
 
vtkVertexLocalMap boost::get (vertex_local_t, vtkGraph *graph)
 
property_traits< vtkVertexGlobalMap >::reference boost::get (vtkVertexGlobalMap global_map, property_traits< vtkVertexGlobalMap >::key_type key)
 
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (vertex_global_t)
 
vtkVertexGlobalMap boost::get (vertex_global_t, vtkGraph *graph)
 
property_traits< vtkEdgeGlobalMap >::reference boost::get (vtkEdgeGlobalMap global_map, property_traits< vtkEdgeGlobalMap >::key_type key)
 
 boost::SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (edge_global_t)
 
vtkEdgeGlobalMap boost::get (edge_global_t, vtkGraph *graph)
 
boost::graph::distributed::mpi_process_group process_group (vtkGraph *graph)
 
boost::graph::distributed::mpi_process_group process_group (vtkDirectedGraph *graph)
 
boost::graph::distributed::mpi_process_group process_group (vtkUndirectedGraph *graph)
 
template<typename Archiver >
void serialize (Archiver &ar, vtkEdgeBase &edge, const unsigned int)
 
template<typename Archiver >
void serialize (Archiver &ar, vtkOutEdgeType &edge, const unsigned int)
 
template<typename Archiver >
void serialize (Archiver &ar, vtkInEdgeType &edge, const unsigned int)
 
template<typename Archiver >
void serialize (Archiver &ar, vtkEdgeType &edge, const unsigned int)
 
template<typename DataArray >
vtkDistributedVertexPropertyMapType< DataArray >::type MakeDistributedVertexPropertyMap (vtkGraph *graph, DataArray *array)
 Build a distributed property map indexed by the vertices of the given graph, using storage from the given array. More...
 
template<typename DataArray >
vtkDistributedEdgePropertyMapType< DataArray >::type MakeDistributedEdgePropertyMap (vtkGraph *graph, DataArray *array)
 Build a distributed property map indexed by the edges of the given graph, using storage from the given array. More...
 
vtkGraphDistributedVertexIndexMap MakeDistributedVertexIndexMap (vtkGraph *graph)
 Creates the distributed vertex index property map for a vtkGraph. More...
 

Macro Definition Documentation

#define SUBCLASS_PROPERTY_MAP_SPECIALIZATIONS (   Property)
Value:
template<> \
struct property_map<vtkDirectedGraph *, Property> \
: property_map<vtkGraph *, Property> { }; \
\
template<> \
struct property_map<vtkUndirectedGraph *, Property> \
: property_map<vtkGraph *, Property> { }; \
\
template<> \
struct property_map<vtkDirectedGraph * const, Property> \
: property_map<vtkGraph *, Property> { }; \
\
template<> \
struct property_map<vtkUndirectedGraph * const, Property> \
: property_map<vtkGraph *, Property> { }

Definition at line 52 of file vtkPBGLGraphAdapter.h.

Typedef Documentation

typedef boost::local_property_map<boost::graph::distributed::mpi_process_group, boost::vtkVertexGlobalMap, boost::vtkGraphIndexMap> vtkGraphDistributedVertexIndexMap

A property map used as the vertex index map for distributed vtkGraphs.

Using this index property map when building PBGL's vector_property_map or iterator_property_map will automatically make those property maps distributed. This feature is relied upon by several of the PBGL graph algorithms.

Definition at line 368 of file vtkPBGLGraphAdapter.h.

Function Documentation

boost::graph::distributed::mpi_process_group process_group ( vtkGraph graph)
boost::graph::distributed::mpi_process_group process_group ( vtkDirectedGraph graph)
inline

Definition at line 310 of file vtkPBGLGraphAdapter.h.

boost::graph::distributed::mpi_process_group process_group ( vtkUndirectedGraph graph)
inline

Definition at line 316 of file vtkPBGLGraphAdapter.h.

template<typename Archiver >
void serialize ( Archiver &  ar,
vtkEdgeBase edge,
const unsigned  int 
)

Definition at line 327 of file vtkPBGLGraphAdapter.h.

template<typename Archiver >
void serialize ( Archiver &  ar,
vtkOutEdgeType edge,
const unsigned  int 
)

Definition at line 333 of file vtkPBGLGraphAdapter.h.

template<typename Archiver >
void serialize ( Archiver &  ar,
vtkInEdgeType edge,
const unsigned  int 
)

Definition at line 340 of file vtkPBGLGraphAdapter.h.

template<typename Archiver >
void serialize ( Archiver &  ar,
vtkEdgeType edge,
const unsigned  int 
)

Definition at line 347 of file vtkPBGLGraphAdapter.h.

vtkGraphDistributedVertexIndexMap MakeDistributedVertexIndexMap ( vtkGraph graph)
inline

Creates the distributed vertex index property map for a vtkGraph.

Definition at line 375 of file vtkPBGLGraphAdapter.h.

template<typename DataArray >
vtkDistributedVertexPropertyMapType<DataArray>::type MakeDistributedVertexPropertyMap ( vtkGraph graph,
DataArray *  array 
)
inline

Build a distributed property map indexed by the vertices of the given graph, using storage from the given array.

Definition at line 419 of file vtkPBGLGraphAdapter.h.

template<typename DataArray >
vtkDistributedEdgePropertyMapType<DataArray>::type MakeDistributedEdgePropertyMap ( vtkGraph graph,
DataArray *  array 
)
inline

Build a distributed property map indexed by the edges of the given graph, using storage from the given array.

Definition at line 464 of file vtkPBGLGraphAdapter.h.