RDKit
Open-source cheminformatics and machine learning.
Loading...
Searching...
No Matches
RDKit::MolDraw2Dwx Class Reference

#include <MolDraw2Dwx.h>

Inheritance diagram for RDKit::MolDraw2Dwx:
RDKit::MolDraw2D

Public Member Functions

 MolDraw2Dwx (int width, int height, wxDC &dc, int panelWidth=-1, int panelHeight=-1)
void setFontSize (double new_size)
void setColour (const DrawColour &col)
 sets the current draw color
void drawLine (const Point2D &cds1, const Point2D &cds2)
void drawChar (char c, const Point2D &cds)
void drawPolygon (const std::vector< Point2D > &cds)
void clearDrawing ()
 clears the contents of the drawing
void getStringSize (const std::string &label, double &label_width, double &label_height) const
Public Member Functions inherited from RDKit::MolDraw2D
 MolDraw2D (int width, int height, int panelWidth, int panelHeight)
 constructor for a particular size
 MolDraw2D (const MolDraw2D &rhs)=delete
 MolDraw2D (MolDraw2D &&rhs)=delete
MolDraw2Doperator= (const MolDraw2D &rhs)=delete
MolDraw2Doperator= (MolDraw2D &&rhs)=delete
virtual ~MolDraw2D ()
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
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.
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.
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.
void drawMoleculeWithHighlights (const ROMol &mol, const std::string &legend, const std::map< int, std::vector< DrawColour > > &highlight_atom_map, const std::map< int, std::vector< DrawColour > > &highlight_bond_map, const std::map< int, double > &highlight_radii, const std::map< int, int > &highlight_linewidth_multipliers, int confId=-1)
 draw molecule with multiple colours allowed per atom.
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
void drawReaction (const ChemicalReaction &rxn, bool highlightByReactant=false, const std::vector< DrawColour > *highlightColorsReactants=nullptr, const std::vector< int > *confIds=nullptr)
 draw a ChemicalReaction
std::pair< int, int > getMolSize (const ROMol &mol, const std::string &legend="", const std::vector< int > *highlight_atoms=nullptr, const std::vector< int > *highlight_bonds=nullptr, 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)
 returns the size of the box for the molecule with current drawing settings
virtual void drawLine (const Point2D &cds1, const Point2D &cds2, bool rawCoords=false)=0
virtual void drawPolygon (const std::vector< Point2D > &cds, bool rawCoords=false)=0
virtual void drawLine (const Point2D &cds1, const Point2D &cds2, const DrawColour &col1, const DrawColour &col2, bool rawCoords=false)
 draw a line where the ends are different colours
virtual void drawTriangle (const Point2D &cds1, const Point2D &cds2, const Point2D &cds3, bool rawCoords=false)
 draw a triangle
virtual void drawEllipse (const Point2D &cds1, const Point2D &cds2, bool rawCoords=false)
 draw an ellipse
virtual void drawArc (const Point2D &centre, double radius, double ang1, double ang2, bool rawCoords=false)
virtual void drawArc (const Point2D &centre, double xradius, double yradius, double ang1, double ang2, bool rawCoords=false)
virtual void drawRect (const Point2D &cds1, const Point2D &cds2, bool rawCoords=false)
 draw a rectangle given two opposite corners
virtual void drawAttachmentLine (const Point2D &cds1, const Point2D &cds2, const DrawColour &col, double len=1.0, unsigned int nSegments=16, bool rawCoords=false)
virtual void drawWavyLine (const Point2D &cds1, const Point2D &cds2, const DrawColour &col1, const DrawColour &col2, unsigned int nSegments=16, double vertOffset=0.05, bool rawCoords=false)
 draw a wavy line like that used to indicate unknown stereochemistry
virtual void drawArrow (const Point2D &cds1, const Point2D &cds2, bool asPolygon=false, double frac=0.05, double angle=M_PI/6, const DrawColour &col=DrawColour(0.0, 0.0, 0.0), bool rawCoords=false)
virtual void drawPlus (const Point2D &cds, int plusWidth, const DrawColour &col, bool rawCoords=false)
virtual void drawString (const std::string &str, const Point2D &cds, bool rawCoords=false)
 drawString centres the string on cds.
virtual void drawString (const std::string &str, const Point2D &cds, MolDraw2D_detail::TextAlignType align, bool rawCoords=false)
const std::vector< Point2D > & atomCoords () const
const std::vector< std::pair< std::string, MolDraw2D_detail::OrientType > > & atomSyms () const
 returns the atomic symbols of the activeMolIdx_ molecule
int width () const
 return the width of the drawing area.
int height () const
 return the height of the drawing area.
int panelWidth () const
 return the width of the drawing panels.
int panelHeight () const
 return the height of the drawing panels.
void setFlexiMode (bool mode)
bool flexiMode () const
int drawHeight () const
double getDrawLineWidth () const
double scale () const
void setScale (double newScale)
 explicitly sets the scaling factors for the drawing
void setScale (int width, int height, const Point2D &minv, const Point2D &maxv, const ROMol *mol=nullptr)
void setOffset (int x, int y)
 sets the drawing offset (in drawing coords)
Point2D offset () const
 returns the drawing offset (in drawing coords)
Point2D minPt () const
 returns the minimum point of the drawing (in molecular coords)
Point2D range () const
 returns the width and height of the grid (in molecular coords)
virtual double fontSize () const
 font size in drawing coordinate units. That's probably pixels.
virtual DrawColour colour () const
 returns the current draw color
virtual void setDash (const DashPattern &patt)
 sets the current dash pattern
virtual const DashPatterndash () const
 returns the current dash pattern
virtual void setLineWidth (double width)
 sets the current line width
virtual double lineWidth () const
 returns the current line width
void getLabelSize (const std::string &label, MolDraw2D_detail::OrientType orient, double &label_width, double &label_height) const
void getStringExtremes (const std::string &label, MolDraw2D_detail::OrientType orient, const Point2D &cds, double &x_min, double &y_min, double &x_max, double &y_max) const
virtual void tagAtoms (const ROMol &mol)
virtual bool fillPolys () const
 set whether or not polygons are being filled
virtual void setFillPolys (bool val)
 returns either or not polygons should be filled
MolDrawOptionsdrawOptions ()
 returns our current drawing options
const MolDrawOptionsdrawOptions () const
 This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts.
virtual bool supportsAnnotations () const
void setActiveMolIdx (int newIdx)
bool hasActiveAtmIdx () const
int getActiveAtmIdx1 () const
int getActiveAtmIdx2 () const
void setActiveAtmIdx (int at_idx1=-1, int at_idx2=-1)
bool hasActiveBndIdx () const
int getActiveBndIdx () const
void setActiveBndIdx (int bnd_idx=-1)
void setActiveClass (std::string actClass=std::string(""))
std::string getActiveClass () const
virtual Point2D getDrawCoords (const Point2D &mol_cds) const
virtual Point2D getDrawCoords (int at_num) const
 returns the drawing coordinates of a particular atom
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

Additional Inherited Members

Protected Attributes inherited from RDKit::MolDraw2D
std::unique_ptr< MolDraw2D_detail::DrawTexttext_drawer_
std::string d_activeClass
bool needs_init_ = true
std::vector< std::pair< std::string, std::string > > d_metadata
unsigned int d_numMetadataEntries = 0

Detailed Description

Definition at line 28 of file MolDraw2Dwx.h.

Constructor & Destructor Documentation

◆ MolDraw2Dwx()

RDKit::MolDraw2Dwx::MolDraw2Dwx ( int width,
int height,
wxDC & dc,
int panelWidth = -1,
int panelHeight = -1 )
inline

Member Function Documentation

◆ clearDrawing()

void RDKit::MolDraw2Dwx::clearDrawing ( )
inlinevirtual

clears the contents of the drawing

Reimplemented from RDKit::MolDraw2D.

Definition at line 82 of file MolDraw2Dwx.h.

References RDKit::MolDraw2D::drawOptions(), RDKit::MolDraw2D::height(), setColour(), and RDKit::MolDraw2D::width().

◆ drawChar()

void RDKit::MolDraw2Dwx::drawChar ( char c,
const Point2D & cds )
inline

Definition at line 67 of file MolDraw2Dwx.h.

References RDGeom::Point2D::x, and RDGeom::Point2D::y.

◆ drawLine()

void RDKit::MolDraw2Dwx::drawLine ( const Point2D & cds1,
const Point2D & cds2 )
inline

◆ drawPolygon()

void RDKit::MolDraw2Dwx::drawPolygon ( const std::vector< Point2D > & cds)
inline

◆ getStringSize()

void RDKit::MolDraw2Dwx::getStringSize ( const std::string & label,
double & label_width,
double & label_height ) const
inlinevirtual

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.

Reimplemented from RDKit::MolDraw2D.

Definition at line 93 of file MolDraw2Dwx.h.

References RDKit::MolDraw2D::height(), RDKit::MolDraw2D::scale(), and RDKit::MolDraw2D::width().

◆ setColour()

void RDKit::MolDraw2Dwx::setColour ( const DrawColour & col)
inlinevirtual

sets the current draw color

Reimplemented from RDKit::MolDraw2D.

Definition at line 50 of file MolDraw2Dwx.h.

References RDKit::MolDraw2D::colour(), and RDKit::MolDraw2D::setColour().

Referenced by clearDrawing().

◆ setFontSize()

void RDKit::MolDraw2Dwx::setFontSize ( double new_size)
inlinevirtual

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