11 #ifndef INCLUDE_MOLASSEMBLER_MOL_GRAPH_WRITER_H
12 #define INCLUDE_MOLASSEMBLER_MOL_GRAPH_WRITER_H
17 namespace Molassembler {
19 class StereopermutatorList;
20 class AtomStereopermutator;
21 class BondStereopermutator;
27 static const std::map<std::string, std::string>& elementBGColorMap();
28 static const std::map<std::string, std::string>& elementTextColorMap();
52 void operator() (std::ostream& os)
const;
const PrivateGraph *const graphPtr
Non-null pointer to private graph.
Definition: MolGraphWriter.h:39
virtual std::vector< std::string > bondStereopermutatorTooltips(const BondStereopermutator &permutator) const
Tooltips for a bond stereopermutator.
virtual std::map< std::string, std::string > vertexAttributes(PrivateGraph::Vertex v) const
All attributes to display for a vertex.
Handles the steric permutation of substituents of a non-terminal central atom.
Definition: AtomStereopermutator.h:79
virtual std::map< std::string, std::string > edgeAttributes(const PrivateGraph::Edge &e) const
All attributes to display for an edge.
Handles specific relative arrangements of two atom stereopermutators joined by a bond.
Definition: BondStereopermutator.h:46
Manages all stereopermutators that are part of a Molecule.
Definition: StereopermutatorList.h:30
virtual std::pair< std::string, std::string > fillFontColors(PrivateGraph::Vertex v) const
Fill and font color for a vertex.
virtual std::string edgeColor(const PrivateGraph::Edge &e) const
Display attribute pair for bond type (arbitrary)
virtual std::string vertexLabel(PrivateGraph::Vertex v) const
Label string for a vertex.
std::size_t AtomIndex
Unsigned integer atom index type. Used to refer to particular atoms.
Definition: Types.h:51
Library internal graph class wrapping BGL types.
Definition: PrivateGraph.h:26
const StereopermutatorList *const stereopermutatorListPtr
Maybe pointer to stereopermutator list, maybe nullptr.
Definition: MolGraphWriter.h:41
BglType::edge_descriptor Edge
Definition: PrivateGraph.h:71
virtual std::vector< std::string > edgeTooltips(AtomIndex source, AtomIndex target) const
Tooltips for an edge.
virtual std::vector< std::string > atomStereopermutatorTooltips(const AtomStereopermutator &permutator) const
Tooltips for an atom stereopermutator.
Helper class to write the Graph as Graphviz output.
Definition: MolGraphWriter.h:24
Boost Graph Library wrapper to help in concealing underlying type.
BglType::vertex_descriptor Vertex
Definition: PrivateGraph.h:70