15#ifndef RDKIT_DRAWSHAPE_H
16#define RDKIT_DRAWSHAPE_H
31namespace MolDraw2D_detail {
40 int atom1 = -1,
int atom2 = -1,
int bond = -1);
69 double frac = 0.2,
double angle =
M_PI / 6);
97 double &
ymax)
const override;
107 int atom1 = -1,
int atom2 = -1,
int bond = -1,
143 double lineWidth = 1.0,
int atom1 = -1,
int atom2 = -1,
178 int atom1 = -1,
int atom2 = -1,
int bond = -1);
189 double &
ymax)
const override;
206 double offset = 0.05,
int atom1 = -1,
int atom2 = -1,
243 double &
ymax)
const override;
DrawShapeArc(DrawShapeArc &&)=delete
bool doesRectClash(const StringRect &rect, double padding) const override
DrawShapeArc & operator=(DrawShapeArc &&)=delete
void move(const Point2D &trans) override
DrawShapeArc & operator=(const DrawShapeArc &)=delete
DrawShapeArc(const DrawShapeArc &)=delete
DrawShapeArc(const std::vector< Point2D > points, double ang1, double ang2, double lineWidth=2.0, bool scaleLineWidth=false, const DrawColour &col1=DrawColour(0, 0, 0), bool fill=false, int atom1=-1)
void myDraw(MolDraw2D &drawer) const override
void findExtremes(double &xmin, double &xmax, double &ymin, double &ymax) const override
~DrawShapeArrow()=default
bool doesRectClash(const StringRect &rect, double padding) const override
void myDraw(MolDraw2D &drawer) const override
DrawShapeArrow(const DrawShapeArrow &)=delete
DrawShapeArrow(const std::vector< Point2D > &points, double lineWidth=2.0, bool scaleLineWidth=false, DrawColour lineColour=DrawColour(0, 0, 0), bool fill=false, int atom1=-1, int atom2=-1, int bond=-1, double frac=0.2, double angle=M_PI/6)
DrawShapeArrow(DrawShapeArrow &&)=delete
DrawShapeArrow & operator=(DrawShapeArrow &&)=delete
DrawShapeArrow & operator=(const DrawShapeArrow &)=delete
void findExtremes(double &xmin, double &xmax, double &ymin, double &ymax) const override
void myDraw(MolDraw2D &drawer) const override
void scale(const Point2D &scale_factor) override
void move(const Point2D &trans) override
DrawShapeDashedWedge & operator=(const DrawShapeDashedWedge &)=delete
bool doesRectClash(const StringRect &rect, double padding) const override
std::vector< DrawColour > lineColours_
DrawShapeDashedWedge & operator=(DrawShapeDashedWedge &&)=delete
DrawShapeDashedWedge(const DrawShapeDashedWedge &)=delete
DrawShapeDashedWedge(DrawShapeDashedWedge &&)=delete
~DrawShapeDashedWedge()=default
DrawShapeDashedWedge(const std::vector< Point2D > points, const DrawColour &col1, const DrawColour &col2, bool oneLessDash=true, double lineWidth=1.0, int atom1=-1, int atom2=-1, int bond=-1)
DrawShapeEllipse(const std::vector< Point2D > &points, double lineWidth=2, bool scaleLineWidth=false, DrawColour lineColour=DrawColour(0, 0, 0), bool fill=false, int atom1=-1)
DrawShapeEllipse(DrawShapeEllipse &&)=delete
void move(const Point2D &trans) override
bool doesRectClash(const StringRect &rect, double padding) const override
void myDraw(MolDraw2D &drawer) const override
DrawShapeEllipse(const DrawShapeEllipse &)=delete
DrawShapeEllipse & operator=(DrawShapeEllipse &&)=delete
~DrawShapeEllipse()=default
DrawShapeEllipse & operator=(const DrawShapeEllipse &)=delete
void findExtremes(double &xmin, double &xmax, double &ymin, double &ymax) const override
DrawShapePolyLine(const std::vector< Point2D > &points, double lineWidth=2.0, bool scaleLineWidth=false, DrawColour lineColour=DrawColour(0, 0, 0), bool fill=false, int atom1=-1, int atom2=-1, int bond=-1, DashPattern dashPattern=noDash)
bool doesRectClash(const StringRect &rect, double padding) const override
void myDraw(MolDraw2D &drawer) const override
~DrawShapePolyLine()=default
DrawShapePolyLine(const DrawShapePolyLine &)=delete
DrawShapePolyLine(DrawShapePolyLine &&)=delete
DrawShapePolyLine & operator=(DrawShapePolyLine &&)=delete
DrawShapePolyLine & operator=(const DrawShapePolyLine &)=delete
DrawShapeSimpleLine(const std::vector< Point2D > &points, double lineWidth=2.0, bool scaleLineWidth=false, DrawColour lineColour=DrawColour(0, 0, 0), int atom1=-1, int atom2=-1, int bond=-1, DashPattern dashPattern=noDash)
bool doesRectClash(const StringRect &rect, double padding) const override
DrawShapeSimpleLine & operator=(DrawShapeSimpleLine &&)=delete
DrawShapeSimpleLine(DrawShapeSimpleLine &&)=delete
DrawShapeSimpleLine(const DrawShapeSimpleLine &)=delete
void myDraw(MolDraw2D &drawer) const override
DrawShapeSimpleLine & operator=(const DrawShapeSimpleLine &)=delete
~DrawShapeSimpleLine()=default
std::vector< Point2D > otherBondVecs_
bool doesRectClash(const StringRect &rect, double padding) const override
void myDraw(MolDraw2D &drawer) const override
DrawShapeSolidWedge(const std::vector< Point2D > points, const DrawColour &col1, const DrawColour &col2, bool splitBonds, std::vector< Point2D > &otherBondVecs, double lineWidth=1.0, int atom1=-1, int atom2=-1, int bond=-1)
DrawShapeSolidWedge & operator=(DrawShapeSolidWedge &&)=delete
DrawShapeSolidWedge(DrawShapeSolidWedge &&)=delete
void orderOtherBondVecs()
~DrawShapeSolidWedge()=default
void buildSingleColorTriangles()
DrawShapeSolidWedge & operator=(const DrawShapeSolidWedge &)=delete
DrawShapeSolidWedge(const DrawShapeSolidWedge &)=delete
void buildTwoColorTriangles()
bool doesRectClash(const StringRect &rect, double padding) const override
DrawShapeWavyLine & operator=(const DrawShapeWavyLine &)=delete
DrawShapeWavyLine(const DrawShapeWavyLine &)=delete
DrawShapeWavyLine & operator=(DrawShapeWavyLine &&)=delete
void myDraw(MolDraw2D &drawer) const override
DrawShapeWavyLine(DrawShapeWavyLine &&)=delete
void scale(const Point2D &scaleFactor) override
DrawShapeWavyLine(const std::vector< Point2D > points, double lineWidth=2.0, bool scaleLineWidth=false, const DrawColour &col1=DrawColour(0, 0, 0), const DrawColour &col2=DrawColour(0, 0, 0), double offset=0.05, int atom1=-1, int atom2=-1, int bond=-1)
~DrawShapeWavyLine()=default
virtual void myDraw(MolDraw2D &drawer) const =0
virtual void findExtremes(double &xmin, double &xmax, double &ymin, double &ymax) const
virtual bool doesRectClash(const StringRect &rect, double padding) const
void draw(MolDraw2D &drawer)
std::vector< Point2D > points_
DrawShape & operator=(DrawShape &&)=delete
virtual ~DrawShape()=default
DrawShape & operator=(const DrawShape &)=delete
DrawShape(const std::vector< Point2D > &points, double lineWidth=2.0, bool scaleLineWidth=false, DrawColour lineColour=DrawColour(0, 0, 0), bool fill=false, int atom1=-1, int atom2=-1, int bond=-1)
virtual void scale(const Point2D &scale_factor)
virtual void move(const Point2D &trans)
DrawShape(const DrawShape &)=delete
DrawShape(DrawShape &&)=delete
MolDraw2D is the base class for doing 2D renderings of molecules.
std::vector< double > DashPattern
bool rdvalue_is(const RDValue_cast_t)
const DashPattern shortDashes