RDKit::MolDraw2DSVG Class Reference

`#include <MolDraw2DSVG.h>`

Inheritance diagram for RDKit::MolDraw2DSVG:

## Public Member Functions

| MolDraw2DSVG (int width, int height, std::ostream &os, int panelWidth=-1, int panelHeight=-1)
| MolDraw2DSVG (int width, int height, int panelWidth=-1, int panelHeight=-1)
virtual void | setFontSize (double new_size) override
virtual void | setColour (const DrawColour &col) override
| sets the current draw color More...
void | finishDrawing ()
virtual void | drawLine (const Point2D &cds1, const Point2D &cds2) override
| draws a line from `cds1` to `cds2` using the current drawing style More...
virtual void | drawString (const std::string &str, const Point2D &cds) override
| drawString centres the string on cds. More...
virtual void | drawPolygon (const std::vector< Point2D > &cds) override
| draw a polygon More...
virtual void | drawEllipse (const Point2D &cds1, const Point2D &cds2) override
| draw an ellipse More...
virtual void | clearDrawing () override
| clears the contes of the drawingd] More...
virtual void | drawWavyLine (const Point2D &cds1, const Point2D &cds2, const DrawColour &col1, const DrawColour &col2, unsigned int nSegments=16, double vertOffset=0.05) override
| draw a wavy line like that used to indicate unknown stereochemistry More...
virtual void | getStringSize (const std::string &label, double &label_width, double &label_height) const override
std::string | getDrawingText () const
void | tagAtoms (const ROMol &mol)
void | tagAtoms (const ROMol &mol, double radius, const std::map< std::string, std::string > &events={})
void | addMoleculeMetadata (const ROMol &mol, int confId=-1) const
void | addMoleculeMetadata (const std::vector< ROMol * > &mols, const std::vector< int > confIds={}) const
virtual void | tagAtoms (const ROMol &mol)
Public Member Functions inherited from RDKit::MolDraw2D
| MolDraw2D (int width, int height, int panelWidth, int panelHeight)
| constructor for a particular size More...
virtual | ~MolDraw2D ()
virtual void | drawMolecule (const ROMol &mol, const std::string &legend, const std::vector< int > *highlight_atoms, const std::vector< int > *highlight_bonds, const std::map< int, DrawColour > *highlight_atom_map=nullptr, const std::map< int, DrawColour > *highlight_bond_map=nullptr, const std::map< int, double > *highlight_radii=nullptr, int confId=-1)
| draw a single molecule More...
virtual void | drawMolecule (const ROMol &mol, const std::vector< int > *highlight_atoms=nullptr, const std::map< int, DrawColour > *highlight_map=nullptr, const std::map< int, double > *highlight_radii=nullptr, int confId=-1)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
virtual void | drawMolecule (const ROMol &mol, const std::string &legend, const std::vector< int > *highlight_atoms=nullptr, const std::map< int, DrawColour > *highlight_map=nullptr, const std::map< int, double > *highlight_radii=nullptr, int confId=-1)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
virtual void | drawMolecule (const ROMol &mol, const std::vector< int > *highlight_atoms, const std::vector< int > *highlight_bonds, const std::map< int, DrawColour > *highlight_atom_map=nullptr, const std::map< int, DrawColour > *highlight_bond_map=nullptr, const std::map< int, double > *highlight_radii=nullptr, int confId=-1)
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...

virtual void

drawMolecules (const std::vector< ROMol * > &mols, const std::vector< std::string > *legends=nullptr, const std::vector< std::vector< int >> *highlight_atoms=nullptr, const std::vector< std::vector< int >> *highlight_bonds=nullptr, const std::vector< std::map< int, DrawColour >> *highlight_atom_maps=nullptr, const std::vector< std::map< int, DrawColour >> *highlight_bond_maps=nullptr, const std::vector< std::map< int, double >> *highlight_radii=nullptr, const std::vector< int > *confIds=nullptr)

| draw multiple molecules in a grid More...
virtual void | drawReaction (const ChemicalReaction &rxn, bool highlightByReactant=false, const std::vector< DrawColour > *highlightColorsReactants=nullptr, const std::vector< int > *confIds=nullptr)
| draw a ChemicalReaction More...
virtual Point2D | getDrawCoords (const Point2D &mol_cds) const
virtual Point2D | getDrawCoords (int at_num) const
| returns the drawing coordinates of a particular atom More...
virtual Point2D | getAtomCoords (const std::pair< int, int > &screen_cds) const
virtual Point2D | getAtomCoords (const std::pair< double, double > &screen_cds) const
virtual Point2D | getAtomCoords (int at_num) const
| returns the molecular coordinates of a particular atom More...
virtual int | width () const
| return the width of the drawing area. More...
virtual int | height () const
| return the height of the drawing area. More...
virtual int | panelWidth () const
| return the width of the drawing panels. More...
virtual int | panelHeight () const
| return the height of the drawing panels. More...
double | scale () const
| returns the drawing scale (conversion from molecular coords -> drawing More...
void | calculateScale (int width, int height, const std::vector< int > *highlight_atoms=nullptr, const std::map< int, double > *highlight_radii=nullptr)
| calculates the drawing scale (conversion from molecular coords -> drawing More...
void | calculateScale ()
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
void | setScale (int width, int height, const Point2D &minv, const Point2D &maxv)
| explicitly sets the scaling factors for the drawing More...
void | setOffset (int x, int y)
| sets the drawing offset (in drawing coords) More...
Point2D | offset () const
| returns the drawing offset (in drawing coords) More...
Point2D | minPt () const
| returns the minimum point of the drawing (in molecular coords) More...
Point2D | range () const
| returns the width and height of the grid (in molecular coords) More...
virtual double | fontSize () const
| returns the font size (in nolecule units) More...
virtual DrawColour | colour () const
| returns the current draw color More...
virtual void | setDash (const DashPattern &patt)
| sets the current dash pattern More...
virtual const DashPattern & | dash () const
| returns the current dash pattern More...
virtual void | setLineWidth (int width)
| sets the current line width More...
virtual int | lineWidth () const
| returns the current line width More...
bool | setStringDrawMode (const std::string &instring, TextDrawType &draw_mode, int &i) const
virtual void | drawTriangle (const Point2D &cds1, const Point2D &cds2, const Point2D &cds3)
| draw a triange More...
virtual void | drawRect (const Point2D &cds1, const Point2D &cds2)
| draw a rectangle More...
virtual void | drawAttachmentLine (const Point2D &cds1, const Point2D &cds2, const DrawColour &col, double len=1.0, unsigned int nSegments=16)
virtual bool | fillPolys () const
| set whether or not polygons are being filled More...
virtual void | setFillPolys (bool val)
| returns ehther or not polygons should be filled More...
MolDrawOptions & | drawOptions ()
| returns our current drawing options More...
const MolDrawOptions & | drawOptions () const
| This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. More...
const std::vector< Point2D > & | atomCoords () const
const std::vector< std::pair< std::string, OrientType > > & | atomSyms () const
| returns the atomic symbols of the current molecule More...
virtual void | drawArrow (const Point2D &cds1, const Point2D &cds2, bool asPolygon=false, double frac=0.05, double angle=M_PI/6)
| Draw an arrow with either lines or a filled head (when asPolygon is true) More...

## Protected Member Functions

virtual void | drawBond (const ROMol &mol, const Bond *bond, int at1_idx, int at2_idx, const std::vector< int > *highlight_atoms=nullptr, const std::map< int, DrawColour > *highlight_atom_map=nullptr, const std::vector< int > *highlight_bonds=nullptr, const std::map< int, DrawColour > *highlight_bond_map=nullptr) override
Protected Member Functions inherited from RDKit::MolDraw2D
virtual void | doContinuousHighlighting (const ROMol &mol, const std::vector< int > *highlight_atoms, const std::vector< int > *highlight_bonds, const std::map< int, DrawColour > *highlight_atom_map, const std::map< int, DrawColour > *highlight_bond_map, const std::map< int, double > *highlight_radii)
virtual void | highlightCloseContacts ()
Point2D | calcPerpendicular (const Point2D &cds1, const Point2D &cds2)

## Additional Inherited Members

Public Types inherited from RDKit::MolDraw2D
enum | OrientType { C = 0, N, E, S, W }
enum | TextDrawType { TextDrawNormal = 0, TextDrawSuperscript, TextDrawSubscript }

## Detailed Description

Definition at line 27 of file MolDraw2DSVG.h.

## Constructor & Destructor Documentation

## MolDraw2DSVG() [1/2]

RDKit::MolDraw2DSVG::MolDraw2DSVG | ( | int | width,
|  | int | height,
|  | std::ostream & | os,
|  | int | panelWidth = `-1`,
|  | int | panelHeight = `-1`
| ) |  |

inline

Definition at line 30 of file MolDraw2DSVG.h.

## MolDraw2DSVG() [2/2]

RDKit::MolDraw2DSVG::MolDraw2DSVG | ( | int | width,
|  | int | height,
|  | int | panelWidth = `-1`,
|  | int | panelHeight = `-1`
| ) |  |

inline

Definition at line 36 of file MolDraw2DSVG.h.

## Member Function Documentation

## addMoleculeMetadata() [1/2]

void RDKit::MolDraw2DSVG::addMoleculeMetadata | ( | const ROMol & | mol,
|  | int | confId = `-1`
| ) |  | const

## addMoleculeMetadata() [2/2]

void RDKit::MolDraw2DSVG::addMoleculeMetadata | ( | const std::vector< ROMol * > & | mols,
|  | const std::vector< int > | confIds = `{}`
| ) |  | const

## clearDrawing()

virtual void RDKit::MolDraw2DSVG::clearDrawing | ( |  | ) |

override virtual

clears the contes of the drawingd]

Implements RDKit::MolDraw2D.

## drawBond()

virtual void RDKit::MolDraw2DSVG::drawBond | ( | const ROMol & | mol,
|  | const Bond * | bond,
|  | int | at1_idx,
|  | int | at2_idx,
|  | const std::vector< int > * | highlight_atoms = `nullptr`,
|  | const std::map< int, DrawColour > * | highlight_atom_map = `nullptr`,
|  | const std::vector< int > * | highlight_bonds = `nullptr`,
|  | const std::map< int, DrawColour > * | highlight_bond_map = `nullptr`
| ) |  |

override protected virtual

Reimplemented from RDKit::MolDraw2D.

## drawEllipse()

virtual void RDKit::MolDraw2DSVG::drawEllipse | ( | const Point2D & | cds1,
|  | const Point2D & | cds2
| ) |  |

override virtual

draw an ellipse

Reimplemented from RDKit::MolDraw2D.

## drawLine()

virtual void RDKit::MolDraw2DSVG::drawLine | ( | const Point2D & | cds1,
|  | const Point2D & | cds2
| ) |  |

override virtual

draws a line from `cds1` to `cds2` using the current drawing style

Implements RDKit::MolDraw2D.

## drawPolygon()

virtual void RDKit::MolDraw2DSVG::drawPolygon | ( | const std::vector< Point2D > & | cds | ) |

override virtual

draw a polygon

Implements RDKit::MolDraw2D.

## drawString()

virtual void RDKit::MolDraw2DSVG::drawString | ( | const std::string & | str,
|  | const Point2D & | cds
| ) |  |

override virtual

drawString centres the string on cds.

Reimplemented from RDKit::MolDraw2D.

## drawWavyLine()

virtual void RDKit::MolDraw2DSVG::drawWavyLine | ( | const Point2D & | cds1,
|  | const Point2D & | cds2,
|  | const DrawColour & | col1,
|  | const DrawColour & | col2,
|  | unsigned int | nSegments = `16`,
|  | double | vertOffset = `0.05`
| ) |  |

override virtual

draw a wavy line like that used to indicate unknown stereochemistry

Reimplemented from RDKit::MolDraw2D.

## finishDrawing()

void RDKit::MolDraw2DSVG::finishDrawing | ( |  | ) |

## getDrawingText()

std::string RDKit::MolDraw2DSVG::getDrawingText | ( |  | ) | const

inline

Definition at line 69 of file MolDraw2DSVG.h.

## getStringSize()

virtual void RDKit::MolDraw2DSVG::getStringSize | ( | const std::string & | label,
|  | double & | label_width,
|  | double & | label_height
| ) |  | const

override virtual

using the current scale, work out the size of the label in molecule coordinates.

Bear in mind when implementing this, that, for example, NH2 will appear as NH2 to convey that the 2 is a subscript, and this needs to accounted for in the width and height.

Implements RDKit::MolDraw2D.

## setColour()

virtual void RDKit::MolDraw2DSVG::setColour | ( | const DrawColour & | col | ) |

override virtual

sets the current draw color

Reimplemented from RDKit::MolDraw2D.

## setFontSize()

virtual void RDKit::MolDraw2DSVG::setFontSize | ( | double | new_size | ) |

override virtual

set font size in molecule coordinate units. That's probably Angstrom for RDKit.

Reimplemented from RDKit::MolDraw2D.

## tagAtoms() [1/3]

virtual void RDKit::MolDraw2D::tagAtoms

inline

adds additional information about the atoms to the output. Does not make sense for all renderers.

Definition at line 429 of file MolDraw2D.h.

## tagAtoms() [2/3]

void RDKit::MolDraw2DSVG::tagAtoms | ( | const ROMol & | mol | ) |

inline virtual

adds additional information about the atoms to the output. Does not make sense for all renderers.

Reimplemented from RDKit::MolDraw2D.

Definition at line 74 of file MolDraw2DSVG.h.

References tagAtoms().

Referenced by tagAtoms().

## tagAtoms() [3/3]

void RDKit::MolDraw2DSVG::tagAtoms | ( | const ROMol & | mol,
|  | double | radius,
|  | const std::map< std::string, std::string > & | events = `{}`
| ) |  |

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

- MolDraw2DSVG.h