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);
78 const std::string &json);
90 {0.557, 0.004, 0.322, 0.5},
92 {0.153, 0.392, 0.098, 0.5}};
118 MolDraw2D &drawer,
const double *grid,
const std::vector<double> &xcoords,
119 const std::vector<double> &ycoords,
size_t nContours,
121 const ROMol *mol =
nullptr);
124 MolDraw2D &drawer,
const double *grid,
const std::vector<double> &xcoords,
125 const std::vector<double> &ycoords,
size_t nContours = 10,
127 std::vector<double> levels;
161 MolDraw2D &drawer,
const std::vector<Point2D> &locs,
162 const std::vector<double> &heights,
const std::vector<double> &widths,
163 size_t nContours, std::vector<double> &levels,
167 MolDraw2D &drawer,
const std::vector<Point2D> &locs,
168 const std::vector<double> &heights,
const std::vector<double> &widths,
170 const ROMol *mol =
nullptr) {
171 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)
prepare a molecule for drawing and draw it
std::vector< DrawColour > colourMap