1 #ifndef BALL_DATATYPE_MOLECULARGRAPH_H
2 #define BALL_DATATYPE_MOLECULARGRAPH_H
4 #include <boost/graph/properties.hpp>
5 #include <boost/graph/graph_traits.hpp>
6 #include <boost/graph/adjacency_list.hpp>
7 #include <boost/graph/copy.hpp>
11 #ifndef BALL_COMMON_GLOBAL_H
15 #ifndef BALL_DATATYPE_GRAPH_GRAPHALGORITHMS_H
27 typedef boost::adjacency_list<boost::vecS, boost::vecS, boost::undirectedS,
28 boost::property<boost::vertex_atom_ptr_t, const Atom*>,
29 boost::property<boost::edge_bond_ptr_t, const Bond*>
53 typedef boost::graph_traits<MolecularGraph>::vertex_descriptor
Vertex;
54 typedef boost::graph_traits<MolecularGraph>::edge_descriptor
Edge;
57 typedef boost::graph_traits<MolecularGraph>::edge_iterator
EdgeIterator;
58 typedef boost::property_map<MolecularGraphBase, boost::vertex_atom_ptr_t>::type
AtomPtrMap;
59 typedef boost::property_map<MolecularGraphBase, boost::edge_bond_ptr_t>::type
BondPtrMap;
60 typedef boost::property_map<MolecularGraphBase, boost::vertex_atom_ptr_t>::const_type
ConstAtomPtrMap;
61 typedef boost::property_map<MolecularGraphBase, boost::edge_bond_ptr_t>::const_type
ConstBondPtrMap;
73 std::map<const Bond*, Edge> bond_to_edge_;
74 std::map<const Atom*, Vertex> atom_to_vertex_;
81 #endif //BALL_DATATYPE_MOLECULARGRAPH_H
boost::property_map< MolecularGraphBase, boost::edge_bond_ptr_t >::const_type ConstBondPtrMap
boost::property_map< MolecularGraphBase, boost::vertex_atom_ptr_t >::const_type ConstAtomPtrMap
boost::graph_traits< MolecularGraph >::vertex_descriptor Vertex
void editableCopy(EditableGraph &eg)
boost::graph_traits< MolecularGraph >::edge_iterator EdgeIterator
ExportOptions
do something useful with this
const Edge & getEdge(const Bond *bond) const
MolecularGraph::EditableGraph EditableMolecularGraph
boost::graph_traits< MolecularGraph >::vertex_iterator VertexIterator
const Vertex & getVertex(const Atom *atom) const
MolecularGraph(AtomContainer &ac, ExportOptions opt=INCLUDE_ALL)
GRAPH::GraphTraits< MolecularGraph >::EditableGraph EditableGraph
boost::property_map< MolecularGraphBase, boost::edge_bond_ptr_t >::type BondPtrMap
GRAPH::GraphTraits< MolecularGraph > MolecularGraphTraits
boost::property_map< MolecularGraphBase, boost::vertex_atom_ptr_t >::type AtomPtrMap
boost::adjacency_list< boost::listS, boost::listS, boost::undirectedS, boost::property< boost::vertex_orig_ptr_t, VertexType, boost::property< boost::vertex_index_t, int > >, boost::property< boost::edge_orig_ptr_t, EdgeType > > EditableGraph
boost::graph_traits< MolecularGraph >::edge_descriptor Edge
boost::adjacency_list< boost::vecS, boost::vecS, boost::undirectedS, boost::property< boost::vertex_atom_ptr_t, const Atom * >, boost::property< boost::edge_bond_ptr_t, const Bond * > > MolecularGraphBase