12 #ifndef MOLDRAW2DUTILS_H
13 #define MOLDRAW2DUTILS_H
16 #include <boost/tuple/tuple.hpp>
22 class MolDraw2DColour;
24 namespace MolDraw2DUtils {
46 RWMol &mol,
bool kekulize =
true,
bool addChiralHs =
true,
47 bool wedgeBonds =
true,
bool forceCoords =
false,
bool wavyBonds =
false);
68 MolDraw2D &drawer,
const ROMol &mol,
const std::string &legend =
"",
69 const std::vector<int> *highlight_atoms =
nullptr,
70 const std::vector<int> *highlight_bonds =
nullptr,
71 const std::map<int, DrawColour> *highlight_atom_map =
nullptr,
72 const std::map<int, DrawColour> *highlight_bond_map =
nullptr,
73 const std::map<int, double> *highlight_radii =
nullptr,
int confId = -1,
74 bool kekulize =
true);
79 const std::string &json);
91 {0.557, 0.004, 0.322, 0.5},
93 {0.153, 0.392, 0.098, 0.5}};
119 MolDraw2D &drawer,
const double *grid,
const std::vector<double> &xcoords,
120 const std::vector<double> &ycoords,
size_t nContours,
122 const ROMol *mol =
nullptr);
125 MolDraw2D &drawer,
const double *grid,
const std::vector<double> &xcoords,
126 const std::vector<double> &ycoords,
size_t nContours = 10,
128 std::vector<double> levels;
162 MolDraw2D &drawer,
const std::vector<Point2D> &locs,
163 const std::vector<double> &heights,
const std::vector<double> &widths,
164 size_t nContours, std::vector<double> &levels,
168 MolDraw2D &drawer,
const std::vector<Point2D> &locs,
169 const std::vector<double> &heights,
const std::vector<double> &widths,
171 const ROMol *mol =
nullptr) {
172 std::vector<double> levels;
Defines the editable molecule class RWMol.
MolDraw2D is the base class for doing 2D renderings of molecules.
RWMol is a molecule class that is intended to be edited.
#define RDKIT_MOLDRAW2D_EXPORT
RDKIT_MOLDRAW2D_EXPORT void contourAndDrawGrid(MolDraw2D &drawer, const double *grid, const std::vector< double > &xcoords, const std::vector< double > &ycoords, size_t nContours, std::vector< double > &levels, const ContourParams &ps=ContourParams(), const ROMol *mol=nullptr)
Generates and draws contours for data on a grid.
RDKIT_MOLDRAW2D_EXPORT void prepareMolForDrawing(RWMol &mol, bool kekulize=true, bool addChiralHs=true, bool wedgeBonds=true, bool forceCoords=false, bool wavyBonds=false)
Does some cleanup operations on the molecule to prepare it to draw nicely.
RDKIT_MOLDRAW2D_EXPORT void updateDrawerParamsFromJSON(MolDraw2D &drawer, const char *json)
RDKIT_MOLDRAW2D_EXPORT void contourAndDrawGaussians(MolDraw2D &drawer, const std::vector< Point2D > &locs, const std::vector< double > &heights, const std::vector< double > &widths, size_t nContours, std::vector< double > &levels, const ContourParams &ps=ContourParams(), const ROMol *mol=nullptr)
Generates and draws contours for a set of gaussians.
RDKIT_MOLDRAW2D_EXPORT void prepareAndDrawMolecule(MolDraw2D &drawer, 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, bool kekulize=true)
prepare a molecule for drawing and draw it
std::vector< DrawColour > colourMap