IMP logo

IMP::atom::BondGraph Class Reference


Detailed Description

Represent a bond graph as a boost graph.

The BondGraph class implements the following boost graph concepts

See the Boost.Graph manual for more details and a list of algorithms.

The vertices are Bondeds. The type of the edge_descriptors is internal. You can use the get_bond() method to get the corresponding Bond.

And all vertices can be assumed to have internal boost vertex indices. The Boost.PropertyMap to access these can be accessed using the get_vertex_index_map() function.

Some usage examples

    boost::isomorphism(a,b,
        boost::isomorphism_map(BondGraph::VertexVertexPropertyMap(pk))
        .vertex_index1_map(a.get_vertex_index_map())
        .vertex_index2_map(b.get_vertex_index_map()));
boost::dijkstra_shortest_paths(a, Bonded(),
 boost::predecessor_map(BondGraph::VertexVertexPropertyMap(pk))
 .weight_map(BondGraph::EdgeFloatPropertyMap(Bond::get_legnth_key()))
 .distance_map(BondGraph::VertexFloatPropertyMap(FloatKey("graph distance")))
 .vertex_index_map(a.get_vertex_index_map()));

Warning: BondGraph has not been well tested yet
Use with caution and please report any bugs found.

Public Member Functions

 BondGraph (Hierarchy bd)
 The graph is on the leaves of the atom::Hierarchy.
Bond get_bond (edge_descriptor d) const

Property maps

Boost.Graph makes extensive use of property maps. We define a few maps which use the particle attributes to store their data. Each map is constructed by passing an appropriate attribute key, to specify the attribute used to store the data. Attempt to store to an attribute which the particle does not already have adds the attribute to the particle. More information about property maps can be found in the Boost.PropertyMap documentation.

 EdgeFloatPropertyMap
 Provide boost access to a Float attribute on the edges such as length.
 EdgeIntPropertyMap
 Provide boost access to an Int attribute on each edge.
 VertexFloatPropertyMap
 Provide boost access to a Float attribute each vertex.
 VertexIntPropertyMap
 Provide boost access to an Int attribute each vertex.
 VertexVertexPropertyMap
 Provide boost access to a Particle attribute each vertex.
VertexIntPropertyMap get_vertex_index_map () const

Constructor & Destructor Documentation

IMP::atom::BondGraph::BondGraph ( Hierarchy  bd  ) 

The graph is on the leaves of the atom::Hierarchy.

All the leaves will be made Bonded particles if they are not already.

Note:
The hierarchy must not have any bonds to particles not in the hierarchy.


Field Documentation

Provide boost access to a Particle attribute each vertex.

The particles in question must be Bonded particles.


The documentation for this class was generated from the following file:

Generated on Mon Mar 8 23:08:48 2010 for IMP by doxygen 1.5.8