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*>
47 :
public MolecularGraphBase
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::vertex_atom_ptr_t >::type AtomPtrMap
boost::graph_traits< MolecularGraph >::vertex_iterator VertexIterator
ExportOptions
do something useful with this
MolecularGraph::EditableGraph EditableMolecularGraph
boost::property_map< MolecularGraphBase, boost::edge_bond_ptr_t >::const_type ConstBondPtrMap
MolecularGraph(AtomContainer &ac, ExportOptions opt=INCLUDE_ALL)
boost::graph_traits< MolecularGraph >::edge_descriptor Edge
const Edge & getEdge(const Bond *bond) const
GRAPH::GraphTraits< MolecularGraph > MolecularGraphTraits
GRAPH::GraphTraits< MolecularGraph >::EditableGraph EditableGraph
boost::graph_traits< MolecularGraph >::vertex_descriptor Vertex
boost::property_map< MolecularGraphBase, boost::vertex_atom_ptr_t >::const_type ConstAtomPtrMap
const Vertex & getVertex(const Atom *atom) const
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
void editableCopy(EditableGraph &eg)
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_iterator EdgeIterator
boost::property_map< MolecularGraphBase, boost::edge_bond_ptr_t >::type BondPtrMap